Mammouth du PHP |
19672 Messages
24 mars 2005, 10:49
Pour faire ça avec du JavaScript, il faut rentrer à fond dans le DOM (Document Object Model) pour isoler la partie à imprimer, j'avoue que tout bien pesé, je préfère de très loin la feuille de style: ce n'est pas très compliqué: tu fais une copie de ta feuille de style de base mais tu modifies l'affichage des éléments indésirables à l'impression en mettant {display: none}; en en-tête de ta page, tu fais un lien vers les deux feuilles, mais dans ta balise <link>, tu précises l'attribut media="screen" pour l'affichage écran et media="print" pour l'affichage impression.
Que tu fasses ça en CSS ou JavaScript, il va te falloir de toutes façon bien identifiers les éléments dans ta page (attributs "name" ou "id"). De là à dire que c'est lourd, j'en suis moins certain et il y a toujours le risque que JavaScript soit désactivé sur l'ordinateur de l'internaute. Il est beaucoup plus rare en revanche que l'internaute impose sa propre feuille de style et même là, je ne suis pas certain que ça change au niveau de ta feuille de style d'impression.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 