首页 > 解决方案 > Angular 开发模式在 Internet Explorer 11 中确实很慢(但在较新的浏览器中很好)

问题描述

我正在运行一个 Angular 7.x 应用程序,该应用程序在 textareas 和 Angular Material 上很重,在 Internet Explorer 11 中使用它时似乎真的很慢。使用现代浏览器该应用程序似乎很好,包括 Edge,但使用 Internet Explorer 11 在 textarea 中输入严重滞后且无法使用。

main.ts文件中,如果我通过注释掉以下两行来启用应用程序在生产环境中运行,则它在 IE11 中运行得更加顺畅且延迟更少。

// if (environment.production) {
  enableProdMode();
// }

这似乎非常hacky和错误,因为我正在“破解” main.ts 文件 - 我需要找到一个可以加速 IE11 的解决方案,但这似乎是一个肮脏的解决方案 - 有没有更好的方法让我获得这个好处?有没有更好的方法来优化 IE11?

标签: angularangular7internet-explorer-11

解决方案


您可以使用 F12 开发工具的性能选项卡来分析导致 IE 性能下降的部分。如果可能的话,您可以使页面更轻,因为 IE 不能像现代浏览器那样处理程序。

您还可以参考此列表来检查是否有任何方法可以提高性能。正如清单中提到的,使用enableProdMode确实是一种优化运行时的方法。

此外,如果*ngFor您的代码中有,请不要忘记在其中使用trackBy。此外,如果*ngFor渲染大量元素,浏览器(尤其是较旧的浏览器)可能会变慢并需要更多时间来完成所有元素的渲染。为了减少渲染时间,您可以参考以下方法:


推荐阅读