2017-07-16 8 views
0

Tampermonkeyで次のスクリプトを実行して、Facebookのすべての画像を隠そうとしましたが、これ以上の使用経験はありませんでしたが、そこにある画像はすべてのWebページに隠されていません。Facebookは何らかの「防御メカニズム」(多分React based)を介してスクリプトをブロックしていますか?

document.querySelectorAll("img").forEach(function(el) { 
el.style.display = "none"; 
}); 
  1. Tampermonkeyでのエラーはありません。
  2. このスクリプトは、facebook.comの各関連ウェブページに掲載されています。

多分、FacebookのReactには、このようなスクリプトをフィルタリングする方法がありますか?もしそうなら、私は私の終わりから何ができるかを尋ねる。

更新:

悲しいことに、すべての3つの回答が機能しませんでした。あなたが私を信じていない場合は、すべてのFacebookウェブページをターゲットにしたスクリプトでそれらを(オリジナル)試してみてください。

答えて

0

あなたのコードこの

var images = document.getElementsByTagName('img'); 
for (var n = images.length; n--> 0;) { 
    var img = images[n]; 
    img.setAttribute("src", ""); 
} 
+0

ありがとう。なぜこれが動作し、前のコードがそうでなかったのか説明してください。 –

0

を試してみては正しいのですが、問題は、イメージが常にあなたが継続的に表示を設定する必要が生成されていることです。

setInterval(() => { 
    document.querySelectorAll("img").forEach(el => { 
     el.style.display = "none" 
    } 
}), 30); 

もっと良い方法は、おそらくグローバルスタイル1を注入することでしょう。

function addGlobalStyle(css) { 
    var head, style; 
    head = document.getElementsByTagName('head')[0]; 
    if (!head) { return; } 
    style = document.createElement('style'); 
    style.type = 'text/css'; 
    style.innerHTML = css; 
    head.appendChild(style); 
} 
+0

私は新しく、このようなコードを見たことがない(非常に興味深い)。私ができれば私は親指を立てるだろうが、私はそうするために2つのポイントが足りない。これらの2つのコードで実際に何が行われているかを詳しく教えてください。ありがとう。 –

+0

悲しいことに、両方の解決策がFacebook上の画像を消失させないようです。 –

関連する問題