无法在IE8中解析javascript中的字符串
我遇到了最奇怪的问题。我在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中查看并托管在此服务器上时,我得到了未定义的内容。这里发生了什么?
IE8可能不支持字符串作为字符数组。看到这个问题 How do you get a string to a character array in JavaScript?
它甚至可能是你的服务器改变浏览器的兼容模式。
而是做
window.console&&console.log(test.charAt(2));
我加入的时候控制台未打开
不要认为这个答案的记录部分是相关的,I8有一个控制台。 – 2014-10-09 14:28:14
但很明显,它不是,因为他能够记录,看看它是不确定的。 – 2014-10-09 14:30:37
原来这是一个兼容性视图问题window.console&&
拿不到IE8中的错误。适用于兼容性视图的代码已关闭。由于我们所有的计算机都在兼容性视图中查看Intranet站点,因此我将<meta http-equiv="X-UA-Compatible" content="IE=8" />
添加到html头以防止兼容性视图。该应用程序现在工作。
- 得爱IE。 – 2014-10-09 14:41:44
在我的答案:_it甚至可能会下降到您的服务器更改浏览器的兼容模式._ – mplungjan 2014-10-09 15:02:00
您确定您在两种环境中都在IE8中以相同的文档模式运行吗?它是IE7或IE8无法使用该语法引用字符串。 – 2014-10-09 14:23:49