2012-01-01 50 views

回答

13

是,在Greasemonkey的,它是相当容易的。如果你想你的脚本分成i18n.js,一个utils.js和你的主脚本主体(并让他们在原剧本的顺序),只是改变你的脚本头读取这样的事情:

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报表(主脚本最后一个)中列出的顺序连接起来,并执行照常。把它们放在同一目录下,你从他们分发服务器上,或一定要充分的URL在@require语句它们所在的地方净。

0

当然可以。例如,如果您使用的Greasemonkey Mozilla的插件,然后在​​3210你可以使用<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.jscookie.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== 
+0

虽然没有以上是不正确,'config.xml' Greasemonkey是私有的实现细节,也没有必要在那里手动闲逛,而这样做反正可能会导致各种各样的问题,最糟糕的,其中可能是Greasemonkey失去了所有安装的脚本的踪迹。 – ecmanaut 2012-05-08 04:34:47

+0

如果您知道如何在不手动工作的情况下将脚本分成小块,欢迎与我们分享您的方法。以上建议对我来说工作正常。 – 2012-05-08 09:14:31

+0

这很简单:按照你的喜好将它分割成不同的文件,编辑主脚本到'@ require'其他部分,然后重新安装主脚本(保持@ name和@ namespace相同它原来)。 如果'@ namespace'或'@ name'指定你原来的剧本没有,你可能还需要你从重新安装之前安装了它,将其保存到同一个URL。 – ecmanaut 2012-05-19 19:46:04

相关问题