【发布时间】:2009-09-27 15:56:15
【问题描述】:
我正在尝试在我的 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 列表中。这意味着我的脚本已加载,但在第一次线索提示函数调用时失败。
【问题讨论】:
-
您能否将脚本发布到userscripts.org 或其他地方,让我们知道这是用于哪个网站?我想自己调试它,但我懒得做所有的工作。过去我写过不少复杂的GM脚本,但已经有一段时间了。
-
它实际上是为 SO 编写的 GM 脚本。我使用我的解决方法在元 (meta.stackexchange.com/questions/23656/…) 上发布了一个解释和一个指向当前版本的链接
-
我修改了您的 SO 脚本以使用此方法,它对我来说似乎仍然可以正常工作。我只是删除了@require 并在顶部添加了 GM_init 代码。然后我将匿名初始化函数重命名为 jQuery_init($) 并移除了周围的 $(...)()
标签: jquery greasemonkey cluetip