Além de extensões / complementos verdadeiros, também é possível usar scripts Greasemonkey . Normalmente, isso requer um suporte adicional ou um navegador embutido † . Mas para sites não HTTPS em um Mac, é possível usar o GlimmerBlocker para adicionar esse script a todos os navegadores de uma só vez:
O GlimmerBlocker é implementado como um proxy http , portanto a estabilidade do Safari [ou de qualquer navegador, Arjan] não é comprometida porque não usa hacks. É até compatível com todos os outros navegadores e outros aplicativos nativos do Mac OS X que usam http, por exemplo, NetNewsWire.
Você sempre poderá atualizar o Safari [ou qualquer navegador] sem interromper o GlimmerBlocker (ou aguardar uma nova versão); e você poderá atualizar o GlimmerBlocker sem atualizar o Safari [ou qualquer navegador]. Isso facilita muito o uso das versões beta [..].
Além de simplesmente bloquear as referências .swf
, também é possível usar a opção Transformar para reescrever o HTML. Mas a solução mais fácil é o recurso GlimmerBlocker para adicionar qualquer JavaScript a qualquer página:
- Adicione uma nova regra (opcionalmente, primeiro adicione um novo filtro para armazenar a regra)
- Defina "Tipo de regra" para "URL da lista de permissões, modificando opcionalmente o conteúdo"
- No painel "javascript", adicione a fonte, por exemplo, do script AdBlock Greasemonkey de Alexey Ruzanov.
Não usei o verdadeiro complemento de Alexey Ruzanov , mas em seu script Greasemonkey, pressionar Option-F alterna a lista de permissões do site atual. Para ativar temporariamente algum Flash específico, clique no ícone Flash exibido para o conteúdo bloqueado. Clique com o botão direito do mouse (ou clique com a tecla Ctrl pressionada) nesse ícone para obter mais opções, incluindo a cópia do URL do Flash. Infelizmente, se um site está ou não na lista de permissões é lembrado usando DOM Storage ou cookies, e ambos são específicos do navegador. Portanto, ativar o Flash em um navegador não o habilita em outro.
E, é claro, como bônus, obtém-se o bloqueio de anúncios do GlimmerBlocker, para sites HTTP simples.
No entanto, cuidado:
O FlashBlock usa armazenamento local em HTML e, portanto, pode deixar um rastro no disco rígido local para cada site que você visitar, independentemente se ele usa o Flash e até mesmo nos modos de navegação privada.
Isso não pode ser usado para filtrar páginas HTTPS seguras. O proxy não pode espiar o conteúdo, muito menos alterá-lo. Ainda mais, o GlimmerBlocker também não pode bloquear o endereço IP: o valor para "Host" é realmente o valor do cabeçalho do Host , que não pode ser visto no tráfego HTTPS. Além disso, é mais fácil bloquear o endereço IP em um arquivo de hosts .
Mesmo ao exibir uma página HTTP simples, as referências aos recursos HTTPS também não podem ser bloqueadas. Gostaria de impedir que sites HTTP digam ao Google e ao Facebook o que você está vendo, o bloqueio <iframe src="https://plusone.google.com/...">
realmente precisa que você altere o HTML da página que está visualizando. Os complementos de navegador fazem um trabalho muito melhor lá e provavelmente também são atualizados quando os domínios mudam. Ainda assim, para aqueles que insistem em fazê-lo no GlimmerBlocker: pode-se reescrever domínios específicos para algum manequim. No painel "transformar", defina "Apenas para o tipo de conteúdo" como "qualquer tipo de texto" e adicione:
// Rewrite "plusone.google.com" to "plusone.google.com.blocked", and so on:
replace(/(plusone\.google\.com)/g, "$1.blocked");
replace(/(apis\.google\.com)(\/js\/plusone)/g, "$1.blocked$2");
replace(/(facebook\.com)/g, "$1.blocked");
replace(/(facebook\.net)/g, "$1.blocked");
replace(/(fbcdn\.net)/g, "$1.blocked");
Isso ainda falhará se algum JavaScript gravar os nomes de domínio de uma maneira que não seja facilmente reconhecida pela simples substituição de texto.
† Como no Firefox, é necessário o complemento original , mas o Opera e o Chrome têm suporte embutido. Consulte a Wikipedia para mais detalhes do navegador.