IE 11内部网上的Angular-以编程方式禁用兼容性视图

时间:2018-10-01 16:54:13

标签: angular internet-explorer internet-explorer-11 intranet polyfills

我正在通过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并取消选中此框:

enter image description here

这不理想。还有什么我可以尝试的吗?在某些地方,我读到没有解决方法-在其他地方,我读到IE=Edge元标记是解决方案-但我发现元标记修复是假新闻...我可以告诉你。

1 个答案:

答案 0 :(得分:0)

我回过头来,仔细查看了index.html文件。我所做的唯一更改是,我们有一个重复的元标记已被注释掉,并且Edge元标记的属性和末尾的/>之间有一些额外的间距。

我删除了所有这些内容,现在无论设置如何,该应用程序都可以运行。我尝试删除一些空格,而不删除其他空格,或者不删除注释的代码而不是删除它-从应用程序正常工作到此时不工作的更改似乎是随机的,并没有真正加起来(服务器延迟?)-所以我无法查明原因。但是我确实知道,一旦我删除了所有多余的空格并注释掉了meta,就可以了-尽管我认为这无关紧要。

确保每次测试之前我都清除了缓存等,并且让我的队友尝试了他们的机器。我希望这可以解决问题,并且没有比这更多的随机性。如果再次中断,我将更新此线程,但现在可以正常工作。感谢所有发表评论的人。