Bonjour,
Je cherche à supprimer dynamiquement tous les css contenant media=print de ma page, cependant je n'arrive pas à matcher un link étant de type media screen ou print.
Merci de votre aide.
Bonjour,
Je cherche à supprimer dynamiquement tous les css contenant media=print de ma page, cependant je n'arrive pas à matcher un link étant de type media screen ou print.
Merci de votre aide.
Salut,
En quel langage fais-tu la recherche ? En JavaScript ?
Et pourquoi vouloir les supprimer dynamiquement ?
Oui,
je recherche le link par le javascript.
j'ai des problèmes avec mon module d'impression du au css des site dans lesquels je suis intégré.
J'aurais besoin de supprimer tous les css print afin d'y mettre seulement le mien.
Si tu montrais ce que tu as déjà fait, ça pourrait aider.
Et tu as essayé de préfixer tes règles CSS ?
Montre nous aussi deux exemples de règles CSS qui entrent en conflit.
Je ne peu pas montré un 2 css qui entre en conflit car je ne sais pas lesquelles affectent mon impression, c'est bien pour ça que je veux tous les supprimer excepté le mien.
Actuellement je n'ai pas grand chose :
Ce code supprime tous les styles mais je souhaite supprimer que les media=print.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $('link[rel=stylesheet]').remove(); $('head').append('<link type="text/css" rel="stylesheet" href="printBR_LPO.css" media="print" />');
De plus comme mon module est appelé dans une iframe, même ma 1er ligne de code ne supprime que les css à l'intérieur de l'iframe et non tous les css de la page entière.
J'ai essayé de choper le media avec attr afin de boucler sur les valeurs print mais ça ne marche pas.
$( "link[media='print']" ).remove();.
Daniel : en espérant que le media print soit précisé dans l'attribut éponyme et non directement dans la feuille de style![]()
Ok,
Super ça marche !
Maintenant un autre petit soucis
Ma page est appelé dans une iframe, afin d'atteindre tous les css et non juste ceux de l'iframe j'utilise.
Puis j’obtiens l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part $(window.top.document).find($("link[media='print']")).remove();
Pourtant mon iframe est appelé via le sous domaine du site.Error: Permission denied to access property 'document'
Un sous-domaine n'est pas considéré par JavaScript comme Same Origin.
Est-ce qu'il y aurais un autre moyen d'atteindre le css hors de mon iframe ? ou du moins de le bloquer à l'intérieur de l'iframe.
Oui, je sais que je n'agis que sur le tag "link".
Pour les écritures du genre :
Code css : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <style> @media screen { p.test { font-family:verdana,sans-serif;font-size:14px; } } @media print { p.test { font-family:times,serif;font-size:10px; } } @media screen,print { p.test { font-weight:bold; } } </style>
je ne sais pas s’il y a une solution.
Malheureusement,
J'ai déjà fait en sorte de supprimer tous les tag link, cela ne change rien.
Le fait d'avoir préciser mon style en print n'empêche pas mon impression d'être affecté par le style des autres sites.
Ce qui est le plus étrange c'est que seul IE affecte mon style et seulement en réduisant la taille de l'impression de façon proportionnelle.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager