javascript – 调试AngularJS Internet Explorer锁定
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 调试AngularJS Internet Explorer锁定,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1705字,纯文字阅读大概需要3分钟。
内容图文
我有IE10的问题,我可以很容易地复制.通过几页在我的应用程序中弹跳后,IE完全锁定(没有“长时间运行的脚本”警告,只是完全冻结).我必须从任务管理器中删除它.我已经禁用所有附加组件并且有一个干净的平板.我在一个相当大的工作站上运行(Win7,16GB ram,i7,yadda yadda).
它不会在Chrome或Firefox中冻结.只有IE10和IE11.
关于我的应用
我正在与工业控制系统集成,以显示我的系统的活动状态.我有很多XHR轮询正在进行(将转向WebSocket,但是现在,这很容易与我的API集成).每500ms刷新一次端点数据,更新页面上的一堆字段.
当应用程序没有被冻结时,它很好并且很灵活.找不到导致冻结的任何具体情况.
在任何给定时间,我的应用程序有75到400美元的手表(使用this answer计算).
目前正在运行AngularJS v1.3.0-rc.4.在1.2.25上有类似的锁定.
所以,我的问题
我怎么去调试呢?我试过打开F12开发者工具,没有任何东西输出到控制台.运行脚本分析器(Batarang在IE中不可用)表明我在$digest中每10秒花费大约200ms(包括).接下来我该尝试什么?
解决方法:
哎呀,我可以同情.
你能分开关注吗?使用不使用XHR的服务模拟测试您的前端(带有ng-repeat的DOM部分),看看您是否遇到了同样的问题.您也可以尝试测试XHR服务,而无需将其连接到您的前端. (例如,出于测试目的,您可以使用仅具有< span> {{myDataArray}}< / span>之类的测试视图来避免ng-repeat问题.)基本上,尝试拆分问题一半,看看你是否仍然可以复制问题.
基本上,我的理由是这样的;如果你嘲笑你的服务并且仍然每隔500毫秒轮询一次,而你遇到了问题,那么你可能会遇到IE的DOM更新问题.如果您没有遇到问题,但是您测试了真实服务并且IE冻结了,那么XHR在某处(可能是您的投票时间?)或者Angular的监视系统可能存在问题.
我希望我能在这里得到更多帮助,但这是我开始的地方.通过剔除一些代码来尝试缩小问题范围.它不会很有趣,但是如果你使用Angular的最佳实践(即依赖注入和关注点分离)编写了你的??应用程序,那就不那么痛苦了.
TL; DR – “我接下来要尝试什么?”您将不得不开始智能地剔除一些代码,以查看哪些有效,哪些无效.
内容总结
以上是互联网集市为您收集整理的javascript – 调试AngularJS Internet Explorer锁定全部内容,希望文章能够帮你解决javascript – 调试AngularJS Internet Explorer锁定所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。