无法在IE8中解析javascript中的字符串

时间:2014-10-09 14:19:04

标签: javascript internet-explorer-8

我遇到了最棘手的问题。我有一个在IIS服务器上托管的Web应用程序,它不能在IE8中运行,IE8是该公司的标准浏览器。它适用于chrome。我还在我的谷歌硬盘上托管了相同的文件,它在那里工作,即使在IE8中也是如此。它也适用于文件只在我的桌面上,即使在IE8中。

事实证明,问题主要是由于当应用程序托管在该服务器上时,IE8中的javascript不会解析字符串。以下是一些示例代码:

<!doctype html>
<html>
<body>
<script type="text/javascript">
var test='test';
console.log(test[2]);
</script></body>
</html>

就是这样。整个文件。当我在IIS服务器上托管这个并打开IE8的控制台时,我没有按照它应该记录s,而是

LOG: undefined

在chrome中,我得到s当我在其他地方托管文件时,即使在IE8中我也会得到s。但是当它在IE8中查看并托管在此服务器上时,我得到了未定义。这是怎么回事?

2 个答案:

答案 0 :(得分:1)

原来这是一个兼容性视图问题。代码兼容性视图已关闭。由于我们所有的计算机都在兼容性视图中查看Intranet站点,因此我将<meta http-equiv="X-UA-Compatible" content="IE=8" />添加到html头以防止兼容性视图。该应用现在可以使用。

答案 1 :(得分:0)

IE8可能不支持将字符串作为字符数组。看到这个问题 How do you get a string to a character array in JavaScript?

甚至可能由您的服务器更改浏览器的兼容模式。

取而代之的是

window.console&&console.log(test.charAt(2));

我正在添加window.console&&以在控制台未打开时在IE8中未收到错误