webdevqa.jp.net

Firefox - ページをリロードすることなく、すべての画像の表示と非表示を切り替えるための設定/拡張子

ページをリロードせずにすべての画像の表示と非表示を簡単に切り替えることができるFirefoxの設定や拡張機能を探しています(Operaの機能と同様です。

イメージを表示/非表示にすることができる拡張子を見つけました( image-show-hide )、画像を表示/非表示にするためにページをリロードする必要があります。

私は、以前に設定された画像から画像を消してすべての画像を隠すように設定されているときに、ページがリロードされないことを好みます。

2
galacticninja

imagePref リロードせずにイメージ表示を切り替えることを可能にする拡張子である。開いているタブが多い場合は、遅く実行されていることに気づいた。

あなたがトレードオフを受け入れることを望んでいるならば、これはあなたが求めているもののいくつかを行うもう一つのブックマークレットです:

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);}());

<img>を含む<input>および<object>およびtype="image"タグを隠して表示しようとしますが、<embed>または<object>のように、<param>タグを使用して、weirderイメージの配信方法がまだたくさんありません。ブラウザのセキュリティ対策のためにドメイン間では機能しません(通常は<iframes>に広告がある場合は注目に値する)、そしてページが!importantを使用している場合は、ユーザースタイルシートによって上書きされるか、またはClobberedによって上書きされることができます。

興味のための読み取り可能なソースコード:

(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);
}());
2
kate

JavaScriptは必要ありません。 OPはページをリロードせずにイメージを切り替える簡単な方法を望んでいました。

Firefox/Chrome/etcの「スタイリッシュ」拡張子を使用してから、以下に追加したコードを使用してください。それはすべてのサイトで働き、すべての画像、ビデオ(埋め込み)、および背景画像を隠します。

@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 }
 _
3
Dr Chi

ページをリロードせずに、ページ上のすべての画像を強制終了する方法をお知らせできます。次のコード行をFirefoxのブックマークツールバーのブックマークとして保存し、「ZAPイメージ」と名前を付けます。

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)}})();
 _

それでは、画像でWebページを開き、このブックマークをクリックしてください。あなたはちょうど画像をザッされただけです。ただし、それらを戻すためには、ページを更新する必要があります。