我正在通过Angular 6
在公司intranet
上运行IE11
应用。我的应用程序根据ES5
编译为tscnfig.json
。我已取消注释并在polyfills.js
中安装了所有IE兼容性行。我还在<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
标签下面添加了建议的元标签<head>
。
这些都没有通过编程方式禁用IE的默认兼容性视图设置的预期行为。默认情况下,IE11 displays intranet sites in Compatibility View
会中断Angular。我唯一能找到的解决方案是让我们每个用户都进入IE的Compatibility View Settings
并取消选中此框:
这不理想。还有什么我可以尝试的吗?在某些地方,我读到没有解决方法-在其他地方,我读到IE=Edge
元标记是解决方案-但我发现元标记修复是假新闻...我可以告诉你。
答案 0 :(得分:0)
我回过头来,仔细查看了index.html文件。我所做的唯一更改是,我们有一个重复的元标记已被注释掉,并且Edge元标记的属性和末尾的/>
之间有一些额外的间距。
我删除了所有这些内容,现在无论设置如何,该应用程序都可以运行。我尝试删除一些空格,而不删除其他空格,或者不删除注释的代码而不是删除它-从应用程序正常工作到此时不工作的更改似乎是随机的,并没有真正加起来(服务器延迟?)-所以我无法查明原因。但是我确实知道,一旦我删除了所有多余的空格并注释掉了meta,就可以了-尽管我认为这无关紧要。
确保每次测试之前我都清除了缓存等,并且让我的队友尝试了他们的机器。我希望这可以解决问题,并且没有比这更多的随机性。如果再次中断,我将更新此线程,但现在可以正常工作。感谢所有发表评论的人。