Aplicar um script Greasemonkey a uma extensão chrome: // Firefox

7

Eu escrevi um pequeno userscript Greasemonkey para modificar alguns parâmetros <a href... GET em um feed RSS para torná-lo mais conveniente de usar. Ele funciona bem quando eu carrego a página RSS diretamente no Firefox com o script ativado.

No entanto, ao usar um agregador RSS do addon do Firefox, como o Brief ou o Newsfox, o userscript não é aplicado. Ele mostra No installed scripts run on this page no menu de contexto do GM, apesar de o script ser definido com um valor included pages de * e ativação em todas as páginas da web normais. Também tentei especificar explicitamente o URL de adição no caso de * realmente não manipular esquemas de URL potencialmente inesperados como chrome:// , mas permaneceu inativo.

Suspeito que o Greasemonkey está desativado por chrome:// URLs, talvez por motivos de segurança, porque eles têm uma segurança muito mais descontraída do que uma página da Web típica. Ou talvez algum tipo de sandboxing esteja ocorrendo. Existe alguma maneira que eu possa realizar o que eu quero sem ter que recorrer a um proxy web com adaptação de conteúdo?

    
por Gregyski 12.01.2012 / 00:48

1 resposta

4

Isso não é possível, por design.

Infelizmente, o Greasemonkey deliberadamente se restringe a http: , https: , ftp: e data: esquemas por padrão.

Você também pode executar em file: ou unmht: esquemas, ou about:blank , se você definir explicitamente algumas opções mágicas .

Os desenvolvedores teimosamente se recusaram a ceder neste ponto, mas você pode facilmente separar o código do Greasemonkey e remover o chrome: restriction, se desejar.

No código-fonte, você editaria o arquivo isGreasemonkeyable.js para adicionar uma linha:

case "chrome":

logo após a linha case "data": . (Em seguida, reconstrua e instale sua extensão modificada).

    
por 07.04.2012 / 08:27