Existe-t-il un moyen angulaire d’imprimer un div à partir d’une page HTML?
J'ai une page html en utilisant AngularJS, et je veux imprimer une div. Est-il Angulaire moyen de le faire? .. ou c'est juste le classique de façon javascript ci-dessous:
<script language="javascript" type="text/javascript">
function printDiv(divID) {
//Get the HTML of div
var divElements = document.getElementById(divID).innerHTML;
//Get the HTML of whole page
var oldPage = document.body.innerHTML;
//Reset the page's HTML with div's HTML only
document.body.innerHTML =
"<html><head><title></title></head><body>" +
divElements + "</body>";
//Print Page
window.print();
//Restore orignal HTML
document.body.innerHTML = oldPage;
}
</script>
Si AngularJS ne pas avoir quelque chose autour de cela, pouvez-vous suggérer o façon de le faire, sans l'aide de fonctions JavaScript (ex: doc.getElementById() ).. une approche proche de la AngularJS ?
Thx,
source d'informationauteur Ursan Ionut
Vous devez vous connecter pour publier un commentaire.
J'ai créé une directive simple pour l'impression div contenu à l'aide de l'iframe technique. C'est un peu hackish, mais fonctionne très bien. il n'y a pas de meilleure façon de le faire à mon avis. La directive script est:
Dans votre modèle, vous marquez le bouton imprimer comme ceci:
Et c'est tout, il devrait fonctionner.
Le hackish, c'est que l'iFrame est supprimé après un certain nombre de millisecondes qu'il n'y a pas de croix-navigateur de façon à détecter la fin de l'impression de l'exécution, de sorte que vous guestimate combien de temps serait nécessaire pour qu'il fonctionne.
Vous devrez peut-être inclure jQuery pour que ça fonctionne, je ne suis pas sûr que je n'ai presque jamais travailler sans elle. J'ai ajouté quelques commentaires en ligne pour rendre les choses plus claires. J'ai utilisé un code de cette réponse qui utilise une fenêtre pour imprimer div de contenu (mais à l'extérieur de Angular.js). Peut-être que vous aimerez cette approche plus.
J'avais besoin de ce travail dans IE8+
angularPrint angulaire de la directive qui est super facile à utiliser.
https://github.com/samwiseduzer/angularPrint
il vous suffit de décorer votre html avec ses attributs personnalisés: