Дополнение GreaseMonkey для Firefox разработано, чтобы сделать точно это.
На самом деле Механик не заблокируется, если HTML-код будет содержать встроенный блок JavaScript с перенаправлением как так:
<script type="text/javascript">
var url = "http://google.com";
document.location.replace(url);
</script>
Механик, однако может привыкнуть к вызовам блока к определенным функциям - просто перезаписывают их :). Если вышеупомянутое было перенесено в вызов функции как так:
<script type="text/javascript">
function redirect_to(url)
{
document.location.replace(url);
}
</script>
Затем Вы могли просто переопределить функцию в Механике:
function redirect_to(url){ return true }
Блок встроенные перенаправления с помощью Firefox
По существу Firefox позволяет заблокировать любое управление DOM как location.href.replace
от определенного сайта через так называемый: Настраиваемая Политика безопасности (ЗАГЛАВНЫЕ БУКВЫ)
Слово предупреждения: Обратите внимание, что Ваши настройки безопасности затем заблокируют ВСЕ вызовы от того домена для location.href.replace
. Если какое-либо приложение использует тот вызов, нет никакого способа разрешить некоторых других блока и вызовы.
Установка ЗАГЛАВНЫХ БУКВ для блокирования location.href.replace
Вам не нужен Механик для этой задачи. Firefox идет со встроенной возможностью, позволять/запрещать доступ к свойствам/методам Объектов DOM на основе на сайт. Это называют Настраиваемой Политикой безопасности (ЗАГЛАВНЫЕ БУКВЫ), и это описано в 1.
Краткий справочник, принимающий самый простой случай:
Добавьте следующие строки к user.js:
user_pref ("capability.policy.policynames", "noframebuster"); user_pref ("capability.policy.noframebuster.sites", "http://www.annoying-site.com"); user_pref ("capability.policy.noframebuster. Location.replace", "noAccess");
Конечно, необходимо будет заменить домен тем, которому Вы хотите препятствовать перенаправить Ваши кадры.
Найдите более полное объяснение из моего блога (justaddwater.dk): Подсказка по Firefox Для JavaScript Framebuster.