web-dev-qa-db-ja.com

chromeが「Uncaught Error:NOT_FOUND_ERR:DOM Exception 8」をここにスローするのはなぜですか?

以下は私のYWAラッパーのコードです

_var astr_ywascript = (document.createElement("script").type = "text/javascript").src = "http://d.yimg.com/mi/eu/ywa.js";
document.head.appendChild(astr_ywascript); // <- error on this line
_

これはページの読み込み時に実行されるため、JSがドキュメントのヘッドタグを見つけられないことは意味がありません。

何か案は?

ありがとう


Operaはこのエラーを同じ行にスローします。 _Uncaught exception: Error: WRONG_ARGUMENTS_ER_ Firebugさんのコメント:document.head is undefined [Break On This Error] document.head.appendChild(astr_ywascript);

20
Hubro

ラインで

(document.createElement("script").type = "text/javascript").src

文字列のsrcプロパティを設定しています。括弧内の割り当ては、割り当てられた値を返します。行の後半で同じ間違いを犯し、最終的に"http://d.yimg.com/mi/eu/ywa.js"astr_ywascriptに割り当てます

別の行に分割します。

var el=document.createElement("script");
el.type="text/javascript"
el.src=...
document.head.appendChild(el);

生のJavascriptがjQueryに慣れている場合、めったに動作しない。

次のように頭を取得することもできます。

document.getElementsByTagName("head")[0]
16
spender

私がやっていたので、Backbone.jsでこのエラーが発生しました:

$('#backbone').html(@view.render())

の代わりに

$('#backbone').html(@view.render().el)

私がやるべきだったように。まだこの「el」ビジネスが何であるか本当にわかりませんが、私はすぐにそれを理解するだろうと確信しています。

8
Jeff Dickey

_“Uncaught Error: NOT_FOUND_ERR: DOM Exception 8_エラーの回答を検索しているときに、このページにアクセスした可能性のある人のためにこの回答を追加するだけです。

Chromeでこのエラーが発生しました。私の場合、.appendChild(ttt);を使用していました

問題は、tttが、追加しようとしたdivではなく配列オブジェクトだったということでした。

そのため、追加するものが実際にDOMオブジェクトであり、誤って別のオブジェクトタイプでないことを確認してください。

0
Grallen