私は、FirefoxのアドオンであるTryAgainの開発者の一人で、Webサイトの読み込みに失敗したときにカスタムエラーページを表示します。基本的にFirefoxのnetError.xhtml
をカスタマイズされたバージョンに置き換えます。次のようにnetError.xhtml
以内に延長コードからJavaScriptを実行するためにXULボタンを作成すると「コンポーネントのエラーコード」が返される
は、私はエラーページにXUL <command>
要素を追加しました:
var increment_btn = doc.
createElementNS(
"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
"xul:command"
);
increment_btn.setAttribute("id", "errorIncrement");
increment_btn.setAttribute("oncommand", "autoRetryThis();");
div.appendChild(increment_btn);
を実行する必要があるautoRetryThis()
たびに、私は単にdoCommand()
を実行します要素上に私のテストマシンでは、これはFirefox 2.0から4.0b10までうまく動作します。しかし私は、the following problem reportを受け取った:上記のコードの最初の行に
Error: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMHTMLDocument.createElementNS]
エラーポイント。
createElementNS()
を使用して要素を作成する理由を知りたい場合は、refer to my previous questionを入力してください。
私はこれを試して改訂版を提出しますが、タイムリーな編集プロセスを経なければなりません。なぜこれが問題を引き起こしているのかを詳しく解説できますか? –
しかし私はそれが問題を解決することを期待しません。リモートXULはFirefox 4.0で無効になっていました。私はここでヒットしているものと思われます: https://bugzilla.mozilla.org/show_bug.cgi?id=546857 – sdwilsh
あなたは正しいと思います。バグレポートは、[this message](https://bugzilla.mozilla.org/show_bug.cgi?id=623482#c0)が具体的に述べている別のものを参照しています。「現在、誰かがXUL要素を作成しようとすると、 とエラーをスローします。奇妙なことは、1つのマシンで動作し、別のマシンでは動作しないことです。何がありますか? –