GreaseMonkeyスクリプトにヒントを含めようとしています。これを行うために、ユーザースクリプトを次のように定義しました。
// ==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 でリンクを変更してみてください。すべて正常に動作します。
注: @Require リストにも JQuery を追加してみました。これは、私のスクリプトが読み込まれることを意味しますが、最初のcluetip関数呼び出しで失敗します.