IE中“未指定的错误”是什么意思?

时间:2011-10-03 10:23:33

标签: javascript internet-explorer

我在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出现在什么条件下?

2 个答案:

答案 0 :(得分:7)

如果未正确设置或初始化浏览器尝试使用的某些内容(通常为值),则似乎会发生未指定的错误。我已经看到Ajax代码在页面加载完成之前尝试访问某些东西(通常来自DOM)的很多未指定的错误(即使页面似乎已经加载了)......

有关此错误的一些Google搜索显示有些人说这是一个浏览器问题,但根据我自己的经验,我强烈怀疑它与某些异步代码有关,而这些代码没有按照思考的顺序运行它正在运行。

答案 1 :(得分:1)

在我看来,IE中的这个错误与chrome中常见的错误相似

Uncaught SyntaxError: Unexpected token <

对于那些在使用polyfill进行IE时遇到此问题的人。

检查导入不同库的顺序,确保依赖关系正确,如果使用requireJS,此错误也可能导致配置文件中的错误。