我在IE8中阅读unspecified error
时收到document.namespaces
。
我似乎无法在独立页面中重现问题,我的代码段是:
function addNamespace(key, value) {
try {
$("html").attr(key, value);
if (document.namespaces && // This throws the error
!document.namespaces[key]) {
document.namespaces.add(key, value);
}
} catch (e) {
alert("Error: " + e);
}
};
现在不要在意我为什么要在运行时添加命名空间(它与Facebook有关就像不能正常工作......请参阅此评论 - Facebook like button showing in Firefox but not showing in IE)。
我的问题很简单 - unspecified error
出现在什么条件下?
答案 0 :(得分:7)
如果未正确设置或初始化浏览器尝试使用的某些内容(通常为值),则似乎会发生未指定的错误。我已经看到Ajax代码在页面加载完成之前尝试访问某些东西(通常来自DOM)的很多未指定的错误(即使页面似乎已经加载了)......
有关此错误的一些Google搜索显示有些人说这是一个浏览器问题,但根据我自己的经验,我强烈怀疑它与某些异步代码有关,而这些代码没有按照思考的顺序运行它正在运行。
答案 1 :(得分:1)
在我看来,IE中的这个错误与chrome中常见的错误相似
Uncaught SyntaxError: Unexpected token <
对于那些在使用polyfill进行IE时遇到此问题的人。
检查导入不同库的顺序,确保依赖关系正确,如果使用requireJS,此错误也可能导致配置文件中的错误。