私は非常にjavascriptに新しく、私の無知のために私を許します。コンポーネントが失敗したコードを返しました:0x80070057(NS_ERROR_ILLEGAL_VALUE)[nsIDOMEventTarget.dispatchEvent]
私は現在FlexAddressを使用してフレックスアプリケーション用の逆接続を構築しています。問題は、IE9ではブラウザ履歴機能が動作しないことです。
私はそれを修正したいと思います。難しい修正ではないようです。
私はFirefoxでスクリプトをデバッグするとき、私はこのエラーメッセージが表示されます:
Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent]
this.dispatchEvent(new SWFAddressEvent(type));
これは犯人として、コードのこのビットを指す:
_dispatch = function(type) {
this.dispatchEvent(new SWFAddressEvent(type));
type = type.substr(0, 1).toUpperCase() + type.substr(1);
if(typeof this['on' + type] == FUNCTION)
this['on' + type]();
},
私がチェックしていることが確認されていますSWFAddressEventオブジェクトは問題なく正しくインスタンス化されます。
this.dispatchEvent = function(event) {
console.log(event);
if (this.hasEventListener(event.type)) {
console.log(event);
event.target = this;
for (var i = 0, l; l = _listeners[event.type][i]; i++)
l(event);
return TRUE;
}
return FALSE;
};
何らかの理由で、dispatchEvent
が作成されたSWFAddressEvent
を受信していないようです:
問題はここにあるように思えます。
エラーメッセージの意味を説明できる人はいますか?なぜ、ページが最初に読み込まれたときに3つのイベントを適切にディスパッチできるのですが、それ以上のイベントをディスパッチすると失敗するように見えますか?これはSWFAddress
が、Window
ではありませんので、この部分は、イベントハンドラ内で実行される
this.dispatchEvent(new SWFAddressEvent(type));
:
何ヶ月も前にswfaddressとflashを使用してリッチWebアプリケーションを開発することをやめました。この修正が機能するかどうかはコメントできません。しかし、私はこの答えを正しいものとしてマークします。将来誰かがより良い答えを持って来たら、それを正しいものとしてマークします:) – F21