We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20488
    • 353 Posts
    Bonjour à tous,

    je poste ce topic ici afin de ne pas surcharger le forum Support qui est déjà pas mal fourni.
    (Note aux modos : Merci de déplacer le post si vous pensez qu’il serait plus utile d’afficher ce topic dans le support)

    Voici donc l’objet de ma question :

    J’utilise certains effets via scriptaculous (masquage de div par exemple et animations légères). Dans un souci d’accessibilité maximale, la page qui n’est pas interprétée par javascript dispense les mêmes informations, mais de manière plus linéaire et donc sans animation.

    Dans ma feuille de style, j’ai bien entendu créé un ensemble de définitions du media print (suppression de menus de certaines images etc...). Ainsi, lorsque javascript n’est pas activé, la feuille de style est interprètée correctement par le navigateur, mais ce n’est pas le cas lorsque JS est activé (pour IE 7 et FF 2).

    Le souci vient bien entendu du fait que scriptaculous utilise les directives display:none. Ce qui a pour effet de masquer les blocs composant la majeure partie du contenu de la page. Et ce résultat se retrouve donc à l’impression... :-/

    J’ai donc essayé de transformer les directives media print de ma CSS (via les display etc...), mais hélas sans résultat probant.

    Ma question donc ::

    Peut on modifier les directives @media print de la feuille de style de façon à ce que celle-ci soit interprétée de la même manière qu’une page visualisée avec JS désactivé ?

    Merci à vous pour toute aide relative à ce problème... wink
      • 18219
      • 826 Posts
      Une solution consiste à positionner un petit icone (imprimante par exemple) sur ta page.
      En cliquant dessus tu ouvre une fenêtre (en popup par exemple) avec l’affichage des information comme tu le souhaite voir imprimer donc sans effet JS.
      Bien entendu, tu devras compléter ta feuille de style pour afficher cette page ’print’ en créant des classes qui lui sont spécifiques.

      Bon courage wink
        Marc
        I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
        • 20488
        • 353 Posts
        Effectivement, c’est mon "ultime" option serais-je tenté de dire... Je souhaitais éviter le recours à un lien "version imprimable", mais il me semble que cela va être obligatoire...

        Dommage que la directive "media print" soit aussi dépendante des interactions Javascript. :-/


        ++
          • 18219
          • 826 Posts
          Je ne sais pas si c’est l’ultime option mais je ne connais pas la directive @media print et je ne peux t’aider dans cette voie.
          D’autre que moi pourront infirmer ou confirmer l’orientation que je t’ai conseillé.
          Je reste comme toi dans l’attente de réponse.
            Marc
            I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
            • 23050
            • 1,842 Posts
            Salut Olivier,

            Je ne m’étais jamais penchée sur la question. Je viens de tester une impression sur la galerie, utilisant slimbox.

            Lorsque j’affiche la galerie, sans zoom, l’impression se passe bien. Cela imprime bien la vignette comme je le souhaite.
            Lorsque j’affiche la galerie, avec par dessus le div de Slimbox, la page imprimée est identique à la précédente.

            Normal : je n’avais pas géré le div généré par slimbox dans ma feuille de style print.

            Maintenant, si je définis le div de slimbox avec
            page-break-after:always;

            alors, j’ai bien un saut de page avant mon div : preuve que la css print est bien prise en compte pour l’impression de code html généré par du js. En revanche, je n’arrive pas à faire apparaître mon image. Le saut de page est bien là... mais pas l’image !
              • 20488
              • 353 Posts
              Bonjour Perrine,

              je pense que c’est en fait exactement le même problème que le mien puisque la taille de mon conteneur est modifiée à l’impression... Et effectivement, la redéfinition du media print semble être relativement complexe lors de l’utilisation de scriptaculous.

              Déjà que la définition d’une feuille de style compatible sur tout navigateur est relativement complexe.... Si en plus javascript s’en mêle ! grin

              Allez je me penche là dessus en début de semaine. wink

              Bon week end à tous