Na verdade, o Greasemonkey não bloqueará se o código HTML contiver um bloco javascript embutido com um redirecionamento assim:
<script type="text/javascript">
var url = "http://google.com";
document.location.replace(url);
</script>
O Greasemonkey, no entanto, pode ser usado para bloquear chamadas para funções específicas - basta sobrescrevê-las :). Se o acima foi envolvido em uma chamada de função da seguinte forma:
<script type="text/javascript">
function redirect_to(url)
{
document.location.replace(url);
}
</script>
Então você poderia apenas redefinir a função no Greasemonkey:
function redirect_to(url){ return true }
Bloquear redirecionamentos in-line via Firefox
Essencialmente, o Firefox torna possível bloquear qualquer manipulação de DOM como location.href.replace
de um site específico através do chamado: Políticas de segurança configuráveis (CAPS)
Uma palavra de aviso: observe que suas configurações de segurança bloquearão TODAS as chamadas desse domínio para location.href.replace
. Se qualquer aplicativo fizer uso dessa chamada, não há como permitir algumas chamadas e bloquear outras.
Configurando o CAPS para bloquear location.href.replace
Você não precisa do Greasemonkey para esta tarefa. O Firefox vem com um recurso interno para permitir / não acesso a propriedades / métodos de objetos DOM por site. Ele é chamado de Políticas de Segurança Configuráveis (CAPS) e está descrito em 1 .
Um breve guia, assumindo o caso mais simples:
- Fechar o Firefox
- Localize sua pasta de perfil
- Localize o arquivo user.js nessa pasta. Se não existir, crie-o com um editor texto (Notepad, vim, etc.)
-
Adicione as seguintes linhas ao user.js:
user_pref ("capability.policy.policynames", "noframebuster"); user_pref ("capability.policy.noframebuster.sites", " link "); user_pref ("capability.policy.noframebuster.Location.replace", "noAccess");
É claro que você terá que substituir o domínio pelo que você deseja impedir de redirecionar seus frames.
Encontre uma explicação mais detalhada no meu blog (justaddwater.dk): Firefox Tip Para o JavaScript do Framebuster .