Estoy creando un script de usuario de Grasemonkey que se está haciendo muy grande.¿Es posible dividir las secuencias de comandos de usuario de Greasemonkey en varios archivos?
¿Puedo dividirlo en varios archivos más pequeños? ¿Si es así, cómo?
Estoy creando un script de usuario de Grasemonkey que se está haciendo muy grande.¿Es posible dividir las secuencias de comandos de usuario de Greasemonkey en varios archivos?
¿Puedo dividirlo en varios archivos más pequeños? ¿Si es así, cómo?
Sí, y en Greasemonkey, es bastante fácil. Si desea dividir las secuencias de comandos en i18n.js
, un cuerpo principal de la escritura y utils.js
(y ellos tenían en ese orden en el guión original), acaba de cambiar su cabecera script para leer algo como esto:
i18n.js:
var hello = 'bonjour!';
utils.js:
function say(msg) { alert(msg); }
my.user.js:
// ==UserScript==
// @name My nifty script
// @namespace Your unique author identifier
// @require i18n.js
// @require utils.js
// ==/UserScript==
say(hello);
... y Greasemonkey va a descargar e instalar los tres archivos, unirse a ellos en el orden indicado por sus declaraciones @require
(script principal pasada), y ejecutarlo como siempre. Colóquelos en el mismo directorio en el servidor desde donde los distribuye, o asegúrese de proporcionar direcciones URL completas en las declaraciones @require
donde residen en la red.
Por supuesto que puede. Por ejemplo, si se utiliza Mozilla Greasemonkey como complemento, a continuación, en config.xml
puede utilizar <Require>
:
<UserScriptConfig>
<Script filename="babelfish.yahoo.com.js" name="Babel Fish" namespace="html" basedir=".">
<Include>http://babelfish.yahoo.com/*</Include>
<Require filename="document.js"/>
<Require filename="cookie.js"/>
<Resource name="babelfishCSS" filename="babelfish.yahoo.com.css" mimetype=""/>
</Script>
...
Tanto document.js
y cookie.js
deben estar en la misma carpeta que babelfish.yahoo.com.js
.
Si su motor utiliza en el archivo-anotaciones, a continuación, utilizar @require
Directiva:
// ==UserScript==
// @description This script automatically recovers the language selection.
// @include http://babelfish.yahoo.com/*
// @require cookie.js
// @require document.js
// @resource babelfishCSS babelfish.yahoo.com.css
// ==/UserScript==
Si bien ninguno de los anteriores es incorrecto, 'config.xml' es detalles de la implementación privada de Greasemonkey, no hay necesidad de buscar allí manualmente, y hacerlo de todos modos puede causar todo tipo de problemas, el peor de los cuales probablemente sea Greasemonkey pierde la pista de todos sus scripts instalados. – ecmanaut
Si sabe cómo dividir las secuencias de comandos en piezas más pequeñas sin trabajo manual, puede compartir su enfoque. El consejo anterior funciona bien para mí. –
Eso es fácil: solo córtela en archivos separados como quiera, edite el script principal para '@ require 'las otras partes en el orden deseado, y reinstale el script principal (manteniendo el mismo' @ name' y '@ namespace' como originalmente) Si su script original no tiene un '@ namespace' o' @ name' especificado, probablemente también deba guardarlo en la misma URL desde que lo instaló antes de reinstalarlo. – ecmanaut