我有一个用Java gwt编写的Web应用程序。在IE8中打开网站时,总是弹出消息“此页面上的脚本导致您的Web浏览器运行缓慢”
该消息仅出现在IE8更高版本中,而不出现在FF或Chrome中!

由于应用程序是用Java gwt编写的,因此调试javascript代码非常困难,是否还有其他方法可以确定问题?

该应用程序还具有许多异步调用,可能是数据库问题吗?

最佳答案

此消息表示JavaScript长时间阻止了浏览器线程。

它在IE8中的实现确实很愚蠢。它计算执行的JavaScript代码行数(指令),如果达到一定阈值,则会显示此消息。

实际上,此限制是在Windows注册表中配置的,默认情况下为5000000或类似的值。可以增加它,这当然不是推荐的解决方案。

避免此消息的方法之一是使用GWT DeferredCommand。如果您可以将完成的工作拆分为足够小的块而不会触发IE8保护约束,则可以。另外,尝试将尽可能多的异步请求合并到尽可能少的位置,并改善呈现逻辑,从而有可能从Widget转换为UI Binder或纯DOM。

这是相关问题(Disabling the long-running-script message in Internet Explorer)

07-25 22:36
查看更多