考虑以下HTML文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test</title>
<style type="text/css">
</style>
</head>
<body>
<script type="text/javascript">
alert('' +
'\'test\'[0] = \'' + 'test'[0] + '\'\n' +
'\'test\'.charAt(0) = \'' + 'test'.charAt(0) + '\'\n'
);
</script>
</body>
</html>
当我在本地计算机上打开此文件时,它给出以下输出(在ie8和Chrome中):
'test'[0] = 't'
'test'.charAt(0) = 't'
当我在IIS7.5上托管此文件时,我在Chrome中仍然得到相同的结果,但是ie8给出以下结果:
'test'[0] = 'undefined'
'test'.charAt(0) = 't'
这怎么可能?
最佳答案
Jan,只是为了补充您自己的答案,启用兼容性 View 的更加符合标准的方法是在文档的开头仅使用标准doctype。
<!DOCTYPE html>
HTML5 doctype是HTML5文档类型,也应该使您进入标准模式。
关于javascript - 为什么 'string' [0]在ie8 + IIS7.5上的行为不同于其他浏览器或本地文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3985605/