【问题标题】:Stop script load error popup in IE8在 IE8 中停止脚本加载错误弹出窗口
【发布时间】:2013-07-26 13:19:48
【问题描述】:

我在 IE 8 中的脚本加载遇到了一些问题。

错误弹出显示类似这样的消息

错误:此页面上的脚本导致 Internet Explorer 运行缓慢。如果继续运行,您的计算机可能会变得无响应。是否要中止脚本

我用谷歌搜索太多,也得到了一些解决方案,但都没有阻止这个弹出窗口, 我也尝试增加脚本超时但仍然显示弹出窗口,甚至还尝试从注册表中增加脚本加载时间但它不起作用。请大家帮我解决这个问题。这个错误弹出窗口显示在 IE8 及以下版本中。我必须根据客户要求使其在 IE 8 中可运行,所以请帮助我。

谢谢

【问题讨论】:

    标签: javascript jquery asp.net-webpages


    【解决方案1】:

    这是 IE 8 的一个已知问题。它基本上意味着浏览器抱怨操作需要很长时间才能完成,并且它为用户提供了退出操作的机会,因为当脚本正在运行。

    一个常见的解决方法是将脚本分成更小的块并在 setTimeout 中调用每个块。你必须小心,以确保你可以保持原来的执行顺序。

    setTimeout(function(){
      //break your function into smaller pieces that can be called separately. 
    },5);
    

    这使浏览器有机会在块之间进行呼吸,因此它不会再将其视为一个长时间运行的脚本。

    这种情况的一个常见用例是,如果您在一个循环中有独立的迭代,可以相互独立地执行。

    另一种方法是优化您正在执行的 JavaScript。使用常见的最佳实践可以优化慢速 JQuery 选择器是很常见的

    【讨论】:

    • 我已经使用了这个 SetTimeout 函数,但它仍然显示,我已经提到过这个函数的问题。
    • 好的,请记住,您传递给 setTimeOut 的第二个参数不是代码块的超时时间,而是方法计划开始之前的时间 - 意味着值越高,您越长必须等待该代码运行。如果 setTimeout 不起作用,那么您必须优化代码或更改客户端方法。我们需要更多详细信息来帮助您
    【解决方案2】:

    您的问题没有基于代码的解决方案。您也许可以逐个客户解决此问题,但我确定这不是您想要的。

    消除此消息的最佳方法是改进您的代码。为什么代码需要这么长时间才能运行?这不是你可以在服务器上异步运行然后返回响应的东西吗?

    【讨论】:

      【解决方案3】:

      消息指示您的 jquery 的某些代码具有无限或花费太多时间,如果示例代码可用,您必须更改循环的逻辑并且必须最小化迭代不能建议。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-03
        • 2010-10-24
        • 2012-12-23
        • 2011-08-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多