11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je m'adresse à vous en tout dernier recours, après avoir épluché un bon paquet de pages Web sur le sujet.

Y a-t-il un moyen de capturer l'évènement d'impression d'une page Web ?

J'aimerais empêcher le navigateur d'imprimer la page courante en tant qu'impression Web au profit d'une impression de la fiche technique (un pdf) du produit qu'elle présente.

Il y a une icone représentant une imprimante au sein de la page, ce qui fonctionne très bien, mais je veux intercepter le CTRL + P et lui faire faire la même chose que l'icone, soit ouvrir le PDF.

D'avance merci !

Heriquet
Salut,

Je n'ai pas de réponse avec source, mais il me semblerait bizarre de pouvoir contrôler les fonctions natives du navigateur (question de sécurité).

EDIT: En cherchant un peu plus, oui c'est faisable, mais tout cela dépendra de la version du navigateur

Exemple avec jQuery:

$(function(){  
    $(document).keydown(function(objEvent) {       
        if (objEvent.ctrlKey) {         
            if (objEvent.keyCode == 80) {               
                objEvent.preventDefault();           
                objEvent.stopPropagation();
                return false;
            }           
        }       
    });
});    

Source
Modifié par Super_baloo8 (15 Mar 2013 - 20:43)
Salut,

Merci pour ta réponse...

En fait j'hésite entre 2 solutions qui quoi qu'il arrive ne seraient pas satisfaisantes à 100% :
- soit une solution comme ce que tu proposes
- soit indiquer au visiteur qui prévisualise ou imprime que pour imprimer proprement, il faut passer par l'icone au sein de la page

2 solutions sans doutes contestables mais il ne s'agit pas d'un site à fort trafic et l'impression d'une fiche produit ne sera certainement pas là règle mais le client souhaite que ceux qui impriment le document ait un sentiment de qualité.

Bonne journée.