javascript - 为什么 'string' [0]在ie8 + IIS7.5上的行为不同于其他浏览器或本地文件?

标签 javascript internet-explorer-8 iis-7.5

考虑以下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/

相关文章:

c# - IIS 7.5 Fixing 尝试加载格式错误的程序?

javascript - console.log/document.write 和 alert 的区别

javascript - 面向对象的 JavaScript 示例

jquery - 在 IE7 和 IE8 中使用 jQuery 将位置从绝对设置为固定

javascript - IE8 插件有哪些对 Web 开发人员有用?

visual-studio-2010 - 在浏览器中查看站点时 IIS 7.5 无效的身份验证 header 401.2

asp.net-mvc - 由于存在已知用于跨站点脚本攻击的字符,因此禁止访问

javascript - jQuery/css让两个div显示在同一行

javascript - nodejs用不同的语法插入数组

css - 为 IE7 和 IE8 用户设置 aria-hidden ="false"属性为 "true"