2009-10-08 4 views
10

Я создал сценарий Greasemonkey для веб-сайта. Что делает скрипт, это добавить div в конце страницы.
Как исключить iframe в Greasemonkey или Tampermonkey?

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

Но теперь сайт добавляет IFRAME для Google-объявления, в результате мой DIV появляется в IFRAME тоже, что не то, что я хочу.

Как остановить скрипт, влияющий на iframes?

ответ

5

Greasemonkey теперь поддерживает the @noframes directive (долго поддерживается Tampermonkey и Scriptish).
Используйте это для более чистого способа блокировки работы в iframe.


К сожалению, npdoty's answer теперь будет вызывать предупреждение в консоли браузера Firefox,

:

Предупреждение: использование возврата вне функций устарела и может привести к ошибкам в будущих версиях Greasemonkey.

+0

Это предупреждение не проблема, вам просто нужно обернуть свой скрипт анонимной функцией: '(function() {...})();', это хорошая практика в любом случае. Спасибо за '@ noframes', поддержали. – user

+1

Изменено мое принятие. Спасибо, что предложили более элегантный способ. – fwonce

+0

Добро пожаловать; рад помочь. –

16

Я положил это в верхней части моих скриптов, чтобы избежать запуска на рамах или фреймов:

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

Вот и все! THANKS :-) – fwonce