为什么chrome会在这里抛出“Uncaught Error:NOT_FOUND_ERR:DOM Exception 8”?

时间:2011-01-07 09:19:24

标签: javascript onload domexception yahoo-analytics

以下是我的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 萤火虫说:document.head is undefined [Break On This Error] document.head.appendChild(astr_ywascript);

3 个答案:

答案 0 :(得分:16)

在第

(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]

答案 1 :(得分:8)

我在Backbone.js中遇到了这个错误,因为我在做:

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

而不是

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

就像我应该做的那样。仍然不知道这个'el'业务是什么,但我相信我很快就会明白。

答案 2 :(得分:0)

只需为可能会点击此页面的人添加此答案,就像我在搜索“Uncaught Error: NOT_FOUND_ERR: DOM Exception 8错误的答案时所做的那样。

我在Chrome中遇到此错误。就我而言,我使用的是.appendChild(ttt);

问题是ttt是一个数组对象,而不是我想要附加的div。

因此,请确保您要附加的内容实际上是一个DOM对象,而不是偶然的另一种对象类型。