javascript - IE9 中的 Angular JS 页面加载问题

标签 javascript angularjs internet-explorer

我有一个 angularjs SPA,在 IE9 中遇到问题。该应用程序在 Chrome 和 Firefox 中运行良好。初始加载时需要下载相当多的数据,并且通过 requirejs 管理许多依赖项。

当我在新的 IE session 中查看页面时,我得到了网页的一部分,即某些部分不显示在屏幕上。我检查了网络请求,发现它们缺少一些项目。如果我此时重新加载,页面将加载正常,因为它已经缓存了一些文件,因此不需要下载它们。但是,如果我清除缓存并重试,也会发生同样的事情。

丢失的文件不一致,这意味着它并不总是相同的文件。

此外,在控制台中我可以看到以下错误:

$digest already in progress

这个应用程序是一个我非常熟悉的开源项目,但我什至不知道从哪里开始解决这个问题。

有什么想法吗?

提前致谢

最佳答案

当一个摘要周期已经在运行时,您已经尝试启动一个摘要周期。您应该检查直接调用 $apply() 或 $digest() 的指令和任何其他代码。

我会尝试注释掉所有这些 $apply() 和 $digest() 调用,看看会发生什么。我的猜测是,该页面将成功加载,但您可能无法更新其上的所有内容。因此,您可以提出另一个问题,我们可以看看可以采取什么措施来消除试图启动另一个摘要周期的调用。

关于javascript - IE9 中的 Angular JS 页面加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611410/

相关文章:

html - 在使用 ng-bind-html 时,我应该如何使 html 元素出现在每个元素旁边?

css - 我们应该使用 IE 的 CSS 动态属性吗?

javascript - 闪光灯箱全屏一个div

javascript - 使用 Jade 显示输入值内的数据

javascript - 如何使用参数 AngularJs onChange 下拉值

angularjs - 从 Angular 2 和 Silverlight 应用程序使用相同的 WCF 服务

javascript - 从纯 Javascript/JQuery 调用 Angular js 函数

html - IE8 : float inside li

javascript - jQuery 复选框过滤参数

javascript - 如何禁用 Kendo UI 中的默认 css?