Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour, j'utilise JQuery dans mon site et je suis en train de travailler avec un print.css pour bien afficher les pages pour l'impression...cependant, le script du Jquery génère du css et vient détruire mes pages pour l'impression...
La question: Est-il possible d'empêcher ou de désactiver l'éxécution d'un code pour l'impression
Voici comment je relis mon JQuery dans mon layout:
<?= $this->jQuery() ->setLocalPath('/js/jquery/js/jquery-1.3.2.min.js'); ->setUiLocalPath('/js/jquery/js/jquery-ui-1.7.1.custom.min.js'); $this->jQuery(); ?>
Hors ligne
Tu ne peux pas désactiver JQuery car tu ne sais pas si l'utilisateur va imprimer.
Le seul moyen c'est de faire une requète spécial pour l'impression (un bouton sur ta page 'imprimer').
Mais, si tes scripts abimes tes pages, c'est que ta page est mal conçu.
Hors ligne
Si elle n'est pas déclarer en tant que média print, ca ne devrait pas posé problème
Hors ligne
Oui, mais s'il parle de faire une feuille print.css, j'en déduis qu'il ne l'a pas affecté à all
Hors ligne
Exactement, j'ai un print css appliqué bien sûr à media print...le reste à screen, cependant, la feuille de style du Jquery ne change rien, elle n'est pas à All, c'est le javascript du Jquery qui pose problème car il redimension dans ce cas-ci mon accordéon...
Son code JS va faire exemple: la division de la div est = à 50% du parent...
Il faudrait donc que je trouve un moyen de désactiver son javascript pour l'impression, ce n'est pas relier avec du css (malgré que j'esseye de forcer avec le css les problèmes mais impossible, le js embarque après...)
Hors ligne
Et qu'est-ce qu'est l'utilisation du "!important" ??
Hors ligne
Hors ligne
après le chargement de tes script js et de touts tes css
tu ajoute un <link href="...." type="text/css" media="print" />
dans le css en question tu redéfini tous les attribut que tu veux pour ton impression
par exemple si dans tes css tu as un h1 {color: red} et que tu veux qu'à l'impression il soit noir
tu mes dans le css pour le print h1 {color: black}
il mieux est de redéfinir tout et de ne pas tenir compte de l'héritage des autres feuilles chargées.
ainsi lorsque le navigateur activera la fonction imprimer il va charger ta feuille print et imprimera avec cette feuille là.
il faut qu'elle soit placée après toute définition de style dans la page pour remplacer toute les valeur qu'elle redéfini.
A+JYT
Hors ligne
Sekaijin, c'est déjà fait ça !! Le problème c'est le js du Jquery qui injecte des styles dans les balises en Ajax. Je vais esseyer le !important pt qu'il va pouvoir ignorer les styles injectés du JQuery ainsi...
probitaille a écrit:
j'ai un print css appliqué bien sûr à media print
Dernière modification par probitaille (30-04-2009 14:16:45)
Hors ligne
Pages: 1