2014-10-09 34 views
0

我遇到了最奇怪的问题。我在IIS服务器上托管了一个Web应用程序,该应用程序在IE8中不起作用,这是该公司的标准浏览器。它在铬中工作。我也把相同的文件托管在我的谷歌驱动器上,它在那里工作,即使在IE8。当文件刚好在我的桌面上时,它也可以工作,即使在IE8中也是如此。无法在IE8中解析javascript中的字符串

事实证明,问题具体是由于应用程序托管在该服务器上时,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中查看并托管在此服务器上时,我得到了未定义的内容。这里发生了什么?

+0

您确定您在两种环境中都在IE8中以相同的文档模式运行吗?它是IE7或IE8无法使用该语法引用字符串。 – 2014-10-09 14:23:49

回答

0

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

它甚至可能是你的服务器改变浏览器的兼容模式。

而是做

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

我加入的时候控制台未打开

+0

不要认为这个答案的记录部分是相关的,I8有一个控制台。 – 2014-10-09 14:28:14

+0

但很明显,它不是,因为他能够记录,看看它是不确定的。 – 2014-10-09 14:30:37

1

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

+1

- 得爱IE。 – 2014-10-09 14:41:44

+0

在我的答案:_it甚至可能会下降到您的服务器更改浏览器的兼容模式._ – mplungjan 2014-10-09 15:02:00