Applicazione di uno script Greasemonkey a un'estensione chrome: // Firefox


7

Ho scritto un piccolo script utente Greasemonkey per modificare alcuni <a href...parametri GET in un feed RSS per renderlo più comodo da usare. Funziona bene quando carico la pagina RSS direttamente in Firefox con lo script abilitato.

Tuttavia, quando si utilizza un aggregatore RSS di componenti aggiuntivi di Firefox come Brief o Newsfox, lo script utente non viene applicato. Viene visualizzato No installed scripts run on this pagenel menu di scelta rapida GM nonostante lo script sia impostato con un included pagesvalore *e si attivi su tutte le normali pagine Web. Ho anche provato a specificare esplicitamente l'URL del componente aggiuntivo nel caso in cui in *realtà non gestisca schemi URL potenzialmente inattesi come chrome://, ma è rimasto inattivo.

Il mio sospetto è che Greasemonkey sia disabilitato per gli chrome://URL, forse per motivi di sicurezza a causa della loro sicurezza molto più rilassata rispetto a una normale pagina Web. O forse si sta verificando una sorta di sandboxing. Esiste un modo per ottenere ciò che desidero senza ricorrere a un proxy Web con adattamento del contenuto?

Risposte:


4

Questo non è possibile, in base alla progettazione.

Purtroppo, Greasemonkey deliberatamente si limita a http:, https:, ftp:, e data:schemi per impostazione predefinita.

Puoi anche eseguire su file:o unmht:schemi oppure about:blank, se imposti esplicitamente alcune opzioni magiche .

Gli sviluppatori si sono ostinatamente rifiutati di cedere su questo punto, ma puoi facilmente forkare il codice Greasemonkey e rimuovere la chrome:restrizione se lo desideri.

Nel codice sorgente, dovrai modificare il file isGreasemonkeyable.jsper aggiungere una riga:

case "chrome":

subito dopo la case "data":linea. (Quindi ricostruire e installare l'estensione modificata).


È stata una risposta eccezionale! Grazie, in particolare, per aver fornito fonti e persino per soluzioni alternative.
Gregyski,

Prego; felice di aiutare.
Brock Adams,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.