0

次のコードはChromeとFirefoxで正常に動作しますが、IE9.0では機能しません。

message.nodeTree.childNodes[1].childNodes[0].childNodes[0].appendChild(pkf_util.createXmlTextNode(text));

textareaを介して何かを入力しようとすると、SCRIPT5022が付属しています。

DOM例外:HIERARCHY_REQUEST_ERR(3)481行目29;

IE 9.0で機能しない理由はありますか?

4

3 に答える 3

9

Qを聞いてから久しぶりですが、エラーメッセージでたどり着きました。特に私の場合、次のエラーが発生していました:「HIERARCHY_REQUEST_ERR:DOM例外3:ノードが属していない場所に挿入されました。」

jqueryを使用して作成したノードをhtmlドキュメント内の他のノードに追加しようとしました。新しい(追加された)ノードを作成する$('div')代わりに、誤って使用したことが判明しました。$('<div>')

これが将来誰かに役立つことを願っています。

于 2013-05-02T12:05:32.230 に答える
0

DOM exception 3要素が属していないDOM内の場所に要素を挿入しようとしたことを意味します。(参照

考えられる原因:

  • IE9は、ライブラリによって作成されたXMLノードを有効なDOMノードとは見なしません。
  • 作成されたノードは有効なDOMノードですが、それが属していない場所に追加されています(リーフであるはずのノードに追加されているものなど)
  • 作成されたノードは実際には新しい要素ではなく、追加されるノードの親です。これは、ライブラリのバグとして分類されます。
  • nullどこかに追加しようとすると、実際にはDOM例外を要求していることになります。おそらくあなたのライブラリはIE9で失敗しますか?

返品に関するGoogle検索pkf_util...この質問なので、のバグを除外することはできませんpkf_util

于 2012-11-12T13:01:07.730 に答える
0

これは解決策になる可能性があります...

var element = document.createElement('iframe');
element.src = url;
document.getElementsByTagName('body')[0].appendChild(element);    

幸運を

于 2013-11-22T13:04:20.993 に答える