2012-12-14 6 views
10

Ho provato ad includere alcuni Javascript locali (nella stessa cartella dello script GM) e in entrambi i casi, lo script non riesce a caricare e gli script sembrano smettere di funzionare fino a quando non riavvio il browser anche se la linea con il @require è rimosso.Greasemonkey consente il caricamento di javascript locali tramite @require?

Ho provato entrambi

// @require file://script.js 

poi

// @require file:///full/path/to/script.js 

e entrambe le opzioni non funzionano.

Il caricamento di Javascript locale è vietato in Greasemonkey o richiede alcune impostazioni aggiuntive per attivarlo?

+0

Firefox blocca l'accesso ai file locali, è possibile attivarlo ma non so se questo consentirà a greasemonkey di farlo anche. http://kb.mozillazine.org/Links_to_local_pages_don't_work#Disabling_the_Security_Check – NickSlash

risposta

17

Sì, è possibile @require e @resource file locali, ma la sintassi deve essere corretta. Inoltre, se lo script è installato su un server e si sta provando a @require un file locale, allora extensions.greasemonkey.fileIsGreaseable deve essere impostato su in about:config.

Per JS nella stessa cartella dello script:

// @require Local_Require_1.js 


Oppure utilizzare un percorso relativo :

// @require resources/Local_Require_2.js 


Un percorso completo:

// @require file:///D:/Local_Require_3.js 

Non dimenticare la lettera di unità su Windows.


Si noti che alcune o tutte le parti della direttiva @require possono distinguere tra maiuscole e minuscole, a seconda del proprio sistema operativo. Quindi, corrisponde esattamente alla causa.

Si noti inoltre che durante la modifica in tempo reale di uno script, in particolare le direttive @require, lo script può talvolta interrompere il funzionamento in modo silenzioso. In tal caso, chiudere la scheda della pagina di destinazione, disinstallare e reinstallare lo script.

+0

Quando dici "Inoltre, se lo script è installato su un server ..." ti riferisci a uno script installato direttamente dal web, al contrario di uno creato localmente o scaricato sul computer prima di aggiungerlo? – vfclists

+2

Sì. –