我的防火墙内的Windows Server 2012 R2主机上有一个有角度的站点部署到IIS。当我将RDP进入服务器时,从那里导航到
http://localhost/Foo
在IE11中,所有行为都可以预期;我的页面被提供给浏览器。
但是,当我尝试浏览
http://servername/Foo
在IE11中,我收到了一个从angular.js的第1016行抛出的错误
“Object doesn’t support property or method ‘querySelector'”
这只发生在Internet Explorer中。
一切都在Chrome以及Firefox中测试出来。
有没有人知道为什么会发生这种情况,我可以做些什么来解决它?
解决这个问题的方法是添加
<Meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
标记为头中的第一个项目。
元标记必须是IE拾取边缘模式的头部中的第一个标签;否则,它将忽略应该指示IE不会陷入怪癖模式的DOCTYPE。
当我部署时,我已经将Meta标签作为事后考虑,并将其打入头部底部。
07000
The X-UA-Compatible header isn’t case sensitive; however,it must appear in the header of the webpage (the HEAD section) before all other elements except for the title element and other Meta elements.
Internet Explorer中的默认兼容性设置导致IE对内部站点和外部站点静默地表现不同。
设置X-UA兼容的元标记显式地声明,浏览器应该以边缘模式接收内部站点,而不需要管理兼容性设置,但是必须将头部指定为头部中的第一个标签才能实现此效果。