0
我正在尝试在我的GreaseMonkey脚本中包含cluetip。要做到这一点,我定义我的userscript如下:如何在GreaseMonkey脚本中包含cluetip
// ==UserScript==
// @name myscript
// @namespace myscript
// @description This is my script
// @require http://plugins.learningjquery.com/cluetip/jquery.cluetip.js
// @require http://plugins.learningjquery.com/cluetip/jquery.bgiframe.min.js
// @require http://plugins.learningjquery.com/cluetip/jquery.hoverIntent.js
// @resource jquery.cluetip.css http://plugins.learningjquery.com/cluetip/jquery.cluetip.css
// @include http://mysite.com/*
// ==/UserScript==
(function(){
function GM_init() {
if(typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(GM_wait,100);
} else {
jQuery_init(unsafeWindow.jQuery);
}
}
GM_init();
function jQuery_init($) {
$('a.testTitle').cluetip({splitTitle: '|'});
}
})();
当我输入脚本似乎导入罚款和我的config.xml中,这一行结束:
<Script filename="myscript.user.js" name="myscript namespace="myscript" description="This is my script" enabled="true" basedir="myscript">
<Include>http://mysite.com/*</Include>
<Require filename="jquerycluetip.js"/>
<Require filename="jquerybgiframemin.js"/>
<Require filename="jqueryhoverintent.js"/>
<Resource name="jquery.cluetip.css" filename="jquerycluetip.css" mimetype="text/css"/>
</Script>
脚本后安装我看到引用的需求和资源已被下载并重新命名为每个myscript文件夹中的条目。
当我加载页面myscript不运行。我试过重新启动Firefox,卸载并重新安装脚本并设置警报以确保脚本未运行。我不知道什么是错的。有人有解决方案吗?
有关信息,JQuery已包含在页面中,因此我不需要它。如果我从config.xml中删除所有提示条目,请删除函数调用,重新启动Firefox,然后尝试修改标准JQuery链接一切正常。
注意:我也尝试将JQuery添加到@Require列表中。这意味着我的脚本加载,但在第一个cluetip函数调用时失败。
您可以将脚本发布到http://userscripts.org/或其他地方,让我们知道这是什么网站?我想自己调试,但我懒得做所有的工作。过去我写了很多复杂的GM脚本,但这已经有一段时间了。 – 2009-09-27 16:31:11
它实际上是用于SO的GM脚本。我发布了一个解释和链接到当前版本,使用我的解决方法,在元(http://meta.stackexchange.com/questions/23656/greasemonkey-script-to-gold-plate-sofu) – 2009-09-27 21:13:33
我修改了你的SO脚本使用这种方法,它似乎仍然适用于我。我只是删除了@require,并在顶部添加了GM_init代码。然后我将匿名init函数重命名为jQuery_init($),并删除了周围的$(...)() – 2010-03-31 15:07:48