Exécuter la fonction avant que la page n'arrive à window.print ()

J'ai une page qui appelle window.print (); au bas de la page. Je n'ai aucun moyen d'accéder au code autour de window.print (); C'est généré par le serveur et je ne peux pas le toucher. Fondamentalement, en raison de IE, je dois exécuter un peu de javascript avant l'apparition de la boîte de dialogue d'impression, mais après la chargement de la page. Je ne peux pas le faire parce que dès qu'il arrive à window.print (); La boîte de dialogue d'impression apparaît. J'ai encore besoin d'imprimer, mais d'abord je dois exécuter myFunction () alors je peux window.print ();

<html><head></head><body></body><!--no access from here--><script>window.print();</script></html> 

Vous devriez pouvoir l'annuler comme tel …

 var _print = window.print; window.print = function() { alert("Hi!"); // do stuff _print(); } 

"Fondamentalement à cause d'IE, je dois …"

Si vous avez besoin de soutien pour IE, consultez l'événement onbeforeprint .

 window.onbeforeprint = function () { // some code } 

L'avantage ici est que le code ne fonctionnera pas dans les navigateurs qui ne supportent pas onbeforeprint , ce qui est à peu près tous les navigateurs sauf IE.

Essayez de mettre une autre <script> avant celle à laquelle vous n'avez pas accès, par exemple:

 <html><head></head><body></body><script>alert('Hello There !');</script><script>window.print();</script></html>