我正在创建一个非常大的Greasemonkey用户脚本。
我可以将它拆分成几个较小的文件吗?如果是这样,怎么样?
答案 0 :(得分:15)
是的,在Greasemonkey中,它相当容易。如果要将脚本拆分为i18n.js
,utils.js
和主脚本体(并在原始脚本中按顺序放置),只需将脚本标题更改为如下所示:< / p>
的 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);
...并且Greasemonkey将下载并安装所有三个文件,按照@require
语句(主脚本最后)列出的顺序将它们连接起来,并照常执行。将它们放在您分发它们的服务器上的同一目录中,或者确保在@require
语句中将完整的URL提供给它们驻留在网络上的位置。
答案 1 :(得分:-2)
当然可以。例如,如果您使用Greasemonkey作为Mozilla插件,那么在config.xml
中您可以使用<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>
...
document.js
和cookie.js
都应与babelfish.yahoo.com.js
位于同一文件夹中。
如果引擎使用文件内注释,则使用@require
指令:
// ==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==