2009-10-08 7 views
10

ウェブサイト用のGreasemonkeyスクリプトを作成しました。スクリプトが行うことは、ページの最後にdivを追加することです。
GreasemonkeyまたはTampermonkeyでiframeを除外する方法は?

document.body.insertBefore(myDiv, document.body.firstChild); 

しかし、今サイトでは、私が欲しいものではありません、私のdiv要素があまりにもiframe内に表示された結果として、グーグル、広告用のiframeを追加します。

iframeに影響するスクリプトを停止するにはどうすればよいですか?

答えて

5

のGreasemonkeyは今(長いTampermonkeyとScriptishでサポートされている)the @noframes directiveをサポートしています。
これを使って、iframeの操作をより巧妙にブロックすることができます。


残念ながら、npdoty's answerは現在、Firefoxのブラウザコンソールに警告をトリガします:

警告:関数の外側戻しの使用が廃止されており、グリースモンキーの将来のバージョンで不具合が発生することがあります。

+0

警告は問題ではありません。匿名関数でスクリプトをラップするだけです: '(function(){...})();'、それはとにかく良い方法です。 '@ noframes'をありがとう、upvoted。 – user

+1

私の受諾を変更しました。もっとエレガントな方法を提供してくれてありがとう。 – fwonce

+0

あなたは大歓迎です。喜んで助けてください。 –

16

私は、フレームまたはインライン上で実行しないように私のスクリプトの先頭にこれを置く:

if (window.top != window.self) //don't run on frames or iframes 
    return; 
+0

これだけです!感謝:-) – fwonce

関連する問題