私はユーザースクリプトを作成していますが、Operaではチャームのように機能しますが、FireFoxとChromeでは次のエラーが発生します。
エラー:PunishCalcが定義されていません
スクリプトの上部に次のような変数があります(ユーザーはスクリプトで複数の項目を構成できます)。
var LoginFormat = true;
var PunishCalc = true;
var WorldList = true;
var aWerelden = Array();
var TitleTickets = true;
var OverviewLink = true;
var CookieMarker = true;
ご覧のとおり、PunishCalc
実際にはそこで定義されています。
これはスクリプトの最も重要な部分です。ページにjQueryを実装します。
function addJQuery(callback)
{
var script = document.createElement("script");
script.setAttribute("src", "http://code.jquery.com/jquery-1.7.2.min.js");
script.addEventListener("load", function()
{
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
function main()
{
// All the code will be in here
}
addJQuery(main);
これで、変数を使用するコードが表示されます。
else if(document.location.href.indexOf("village.php?mode=list") > -1 && PunishCalc === true)
{
// Code here
}
ご覧のとおり、変数がtrueかどうかをチェックするだけです。それがしなければならないすべてです。なぜそれがOperaで動作するのに、ChromeやFirefoxでは動作しないのか誰かが知っていますか?