首页 > 解决方案 > IE 11 Intranet 上的 Angular - 以编程方式禁用兼容性视图

问题描述

Angular 6正在intranet通过IE11. 我的应用程序ES5根据tscnfig.json. 我已取消注释并将所有 IE 兼容性行安装在polyfills.js. 我还在<meta http-equiv="X-UA-Compatible" content="IE=Edge" />我的标签下方添加了建议的元<head>标签。

这些都没有以编程方式禁用 IE 的默认兼容性视图设置的预期行为。默认情况下, IE11displays intranet sites in Compatibility View会破坏 Angular。我能找到的唯一解决方案是让我们的每个用户进入他们的 IECompatibility View Settings并取消选中此框:

在此处输入图像描述

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

标签: angularinternet-explorerinternet-explorer-11intranetpolyfills

解决方案


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

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

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


推荐阅读