我在防火墙内的 Windows Server 2012 R2 主机上将 Angularjs 站点部署到 IIS。当我 RDP 进入服务器并从那里导航到
http://localhost/Foo
在 IE11 中,一切都按照人们的预期运行;我的页面被提供给浏览器。
但是,当我尝试浏览时
http://servername/Foo
在 IE11 中,我收到 angular.js 第 1016 行抛出的错误
“对象不支持属性或方法‘querySelector’”
这只发生在 Internet Explorer 中。
在 Chrome 和 Firefox 中,一切都测试得很好。
有谁知道为什么会发生这种情况以及我能做些什么来解决它?
这个问题的解决方案是添加
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
tag 作为第一项 in the Head
.
元标签必须是 IE 头部的第一个标签才能选择边缘模式;否则,它会忽略应该指示 IE 不要陷入怪异模式的 DOCTYPE。
我在部署时添加了元标记作为事后的想法,并将其输入到头部的底部。
MSDN|指定旧文档模式 https://msdn.microsoft.com/en-US/jj676915.aspx
X-UA-Compatible 标头不区分大小写;但是,它必须出现在网页标题(HEAD 部分)中,位于除标题元素和其他元元素之外的所有其他元素之前。
Internet Explorer 中的默认兼容性设置导致 IE默默地表现不同适用于内部站点和外部站点。
设置 X-UA-Compatible 元标记明确声明浏览器应以 Edge 模式接收您的内部站点,而不需要管理兼容性设置,但必须将标头指定为标头中的第一个标记才能实现此效果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)