2 votes

Firefox - paramètre/extension permettant de basculer entre l'affichage et le masquage de toutes les images, sans recharger la page

Je cherche un paramètre ou une extension pour Firefox qui permette de basculer facilement entre l'affichage et le masquage de toutes les images sans recharger la page (similaire à la fonction d'Opera - la fonction "Afficher uniquement les images en cache" est préférable, mais facultative dans mon cas).

J'ai trouvé une extension qui peut afficher/masquer les images ( Image-Show-Hide ) mais il doit recharger la page pour afficher/masquer les images.

Je préfère que la page ne se recharge pas lorsqu'on retire les images d'une page précédemment configurée pour cacher toutes les images.

3voto

Dr Chi Points 31

Vous n'avez pas besoin de javascript. L'OP voulait un moyen facile de basculer les images sans recharger la page et le voici :

Utilisez l'extension "Stylish" pour Firefox/Chrome/etc, puis utilisez le code que j'ai ajouté ci-dessous. Cela fonctionnera pour tous les sites et masquera toutes les images, les vidéos (intégrées) et les images de fond.

@namespace url(http://www.w3.org/1999/xhtml);
/*Hide Images*/
IMG { display: none !important }
/*Hide Videos*/
iframe { display:none !important }
/*Hide Background*/
body {background:none !important }
a {background:none !important }
div {background-image:none !important }
div {background:none !important }

2voto

Milen Boev Points 161

ImagePref est une extension qui vous permet de basculer l'affichage des images sans rechargement, bien que la page d'accueil mentionne que cela peut ne pas fonctionner dans certaines circonstances (non nommées). J'ai remarqué qu'il fonctionnait lentement s'il y a beaucoup d'onglets ouverts.

Si vous êtes prêt à accepter des compromis, voici un autre bookmarklet qui fait une partie de ce que vous demandez :

javascript:(function(){function%20toggleImages(root){var%20stylesheet,stylesheetId='bookmarklet-hide-image-stylesheet',rules='*%20{%20background-image:%20none%20!important;%20}%20img,%20input[type=image],%20object[type^=image]%20{%20visibility:%20hidden%20!important;%20}',tagNames=['frame','iframe'],elements,i,j;stylesheet=root.getElementById(stylesheetId);if(stylesheet){stylesheet.parentNode.removeChild(stylesheet);}else{stylesheet=root.createElement('style');stylesheet.type='text/css';stylesheet.id=stylesheetId;if(stylesheet.styleSheet){stylesheet.styleSheet.cssText=rules;}else{stylesheet.appendChild(root.createTextNode(rules));}root.getElementsByTagName('head')[0].appendChild(stylesheet);}for(i=0;i<tagNames.length;i+=1){for(j=0,elements=root.getElementsByTagName(tagNames[i]);j<elements.length;j+=1){toggleImages(elements[j].contentDocument);}}}toggleImages(document);}());

Il essaie de masquer et de démasquer les images d'arrière-plan, <img> et <input> y <object> tags avec type="image" mais il existe encore de nombreuses méthodes de diffusion d'images plus étranges qu'il ne détectera pas, telles que <embed> o <object> s avec <param> tags. Il ne fonctionnera pas sur plusieurs domaines en raison des mesures de sécurité des navigateurs (ce qui est généralement perceptible lorsqu'il y a des publicités dans les domaines suivants <iframes> ), et elle peut être remplacée par une feuille de style de l'utilisateur ou bloquée si une page utilise la fonction !important .

Code source lisible pour les intéressés :

(function () {
    function toggleImages(root) {
        var stylesheet,
            stylesheetId = 'bookmarklet-hide-image-stylesheet',
            rules = '* { background-image: none !important; } img, input[type=image], object[type^=image] { visibility: hidden !important; }',
            tagNames = ['frame', 'iframe'],
            elements,
            i,
            j;

        stylesheet = root.getElementById(stylesheetId);
        if (stylesheet) {
            stylesheet.parentNode.removeChild(stylesheet);
        } else {
            stylesheet = root.createElement('style');
            stylesheet.type = 'text/css';
            stylesheet.id = stylesheetId;
            if (stylesheet.styleSheet) {
                stylesheet.styleSheet.cssText = rules;
            } else {
                stylesheet.appendChild(root.createTextNode(rules));
            }
            root.getElementsByTagName('head')[0].appendChild(stylesheet);
        }

        for (i = 0; i < tagNames.length; i += 1) {
            for (j = 0, elements = root.getElementsByTagName(tagNames[i]); j < elements.length; j += 1) {
                toggleImages(elements[j].contentDocument);
            }
        }
    }

    toggleImages(document);
}());

1voto

Mehper C. Palavuzlar Points 53926

Je peux vous dire comment supprimer toutes les images d'une page en un seul clic et sans recharger la page. Il suffit d'enregistrer la ligne de code suivante comme signet dans la barre d'outils des signets de Firefox, et de la nommer "zap images".

javascript:(function(){function%20toArray%20(c){var%20a,%20k;a=new%20Array;for%20(k=0;%20k%20<%20c.length;%20++k)a[k]=c[k];return%20a;}var%20images,%20img,%20altText;images=toArray(document.images);for%20(var%20i=0;%20i%20<%20images.length;%20++i){img=images[i];altText=document.createTextNode(img.alt);img.parentNode.replaceChild(altText,%20img)}})();

Maintenant, ouvrez une page web avec des images, et cliquez sur ce signet. Vous venez de supprimer les images. Cependant, pour les faire revenir, vous devez rafraîchir la page.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X