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