2009-11-13 5 views
0

Existe-t-il un moyen d'annuler l'événement d'impression après qu'un utilisateur a appuyé sur le bouton d'impression des navigateurs Web?Comment abandonner l'impression?

Cela fonctionne pour les boutons d'impression dans le code HTML (jQuery):

print_btn.click(function() { 
    if (confirm("Are you sure you want to print? Consider the environment")) { 
     window.print(); 
    } 
}); 

est-il un moyen de faire la même chose avec les navigateurs web bouton d'impression? Pour IE il semble y avoir un événement onbeforeprint, mais à partir de là, je ne peux pas trouver un moyen d'annuler l'impression.

Merci!

Répondre

2

Avez-vous essayé de return false; dans l'événement onbeforeprint d'IE?

Je doute que ce soit possible dans tous les autres navigateurs sauf IE. Cela dit, cela ne me surprendrait pas si cela fonctionnait dans IE en utilisant l'événement onbeforeprint. Choquant, je sais.

+0

Cela n'a pas fonctionné. – pthulin

+0

Eh bien, ne peut pas être fait alors. N'oubliez pas que tout le code JavaScript s'exécute dans son propre sandbox, il y aurait un risque de sécurité si vous aviez le contrôle (même l'annulation) sur des fonctions intégrées comme Print, File Save etc. du navigateur d'hébergement. –

3

Ce n'est pas possible en général, et honnêtement, je suis très heureux que ce soit le cas.

Vous pouvez cependant faire quelque chose de sale, par exemple créer une feuille de style qui utilise des sélecteurs de média pour créer display: none; lors de l'impression, ou quelque chose de similaire. Je n'ai jamais essayé cela mais il semble totalement dans les spécifications (si complètement prétentieux).

+1

n'aiderait pas le titre de la page, la numérotation des pages, etc. que les navigateurs insèrent. – Piskvor

+2

Bien sûr, mais si son objectif est vraiment de «considérer l'environnement», au moins, il économiserait une quantité marginale d'encre. :) –

Questions connexes