2012-07-12 56 views
1

我正在编写一个为浏览器提供JavaScript应用程序的Web应用程序平台。不用说,我在文档加载后使用JS方法启动应用程序,但在IE9上没有发生任何事情,如果开发者控制台没有摆弄。如果没有开发者控制台在IE中不运行JavaScript(不能缺少控制台)

这似乎是典型的控制台缺失问题,但我无法通过添加控制台检查或从源代码中删除控制台调用来修复它。

你们能找到我要去的地方吗?

我服务于多个独立的web应用程序使用相同的平台,所以你也可以看看下面的(问题出现相同遍布):

回答

1

Object.keys不支持在Internet Explorer的所有版本: 请参考以下内容:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys 以下(上面提到的源)增加了Object.keys到不支持它的浏览器:

​​

此外,您的检查控制台的存在的方法是错误的:

尝试在Internet Explorer中运行(http://jsfiddle.net/PytAh/):

 
if (console){ 
    alert("there"); 
} else { 
    alert("not there"); 
} 

它会生成表明控制台不存在的错误。 您可以通过替换它:

 
if (window.console){ 
    alert("there"); 
} else { 
    alert("not there"); 
} 

+0

感谢您的回答。你能否澄清这个问题出了什么问题?至少在IE9上完成了这项工作,因为我在运行它之后无法再找到丢失的控制台。 无论如何,Object.keys捕获似乎做的工作,非常感谢。我为这些事物创建了规范化函数,因此我很容易在将来再处理这些事情。您现在可以在网站上查看它们,然后在开发者控制台输入“proot.normalize”。 – Eiskis 2012-07-12 09:22:31

+0

哦,我不确定Object.keys片段为IE8做了什么工作,出于某种原因。我现在从我的一个库中删除了依赖项,所以它运行了,但如果可以的话,我仍然想添加支持。 – Eiskis 2012-07-12 09:44:13

+0

如果您提供了一个小片段,演示了Object.keys失败的示例,即使在执行代码片段后,我也能够更好地帮助您。 – lorefnon 2012-07-12 10:11:23