gpt4 book ai didi

javascript - 尝试导航到另一个页面时 IE7 和 IE8 出现 "Stop running this script"错误

转载 作者:行者123 更新时间:2023-11-29 17:28:29 25 4
gpt4 key购买 nike

我创建了一个使用 Openlayers 显示 map 的 Drupal 网站。在其中一张 map 中有一些“过滤器”,用户可以使用它们动态更改 map 中显示的数据。与国家相关的数据显示为国家上方的气泡。气泡是使用 Openlayers 的 API 绘制的。选择过滤器时,大量计算在幕后进行。我使用 setTimeout 来避免长时间运行的循环。过滤器工作正常。但是,在单击多个过滤器后(例如,如果单击 12 个过滤器),如果用户尝试通过单击链接移动到另一个页面,则在 IE7 和 IE8 中会显示以下错误 -

“停止运行这个脚本?

此页面上的脚本导致您的网络浏览器运行缓慢。如果它继续运行,您的计算机可能会变得无响应。”

在单击链接之前,此错误不会显示在任何其他浏览器中,也不会显示在 IE7、8 中。在这方面的任何指示将不胜感激。

更新:问题出在 OpenLayers 的事件缓存中。 OpenLayers 会清除窗口卸载事件中的事件缓存,这会卡在 IE7 和 IE8 中(我不确定为什么)。到目前为止,我已经能够通过在单击普通链接时调用 OpenLayers.Event.unloadCache() 来解决用户单击另一个链接时的问题。

最佳答案

jQuery 可能非常耗费资源。下面链接的文章为您提供了 10 个更好的建议,以更好地执行您的 jQuery 应用程序。对我来说最有用的(一个月前我遇到了同样的问题)是用传统的 for lops 替换 $.each() 并用 jquery 模板替换大量的 DOM 构造。还使用 ID 代替类,并为选择器、选择器缓存等提供上下文。

此列表是根据我自己在建议中的“有用性”标准排序的。

  1. 10 ways to instantly increase your jquery performance

  2. improve your jquery 25 excellent tips

  3. 10 advanced jquery performance tuning tips from paul irish

  4. 8 jquery performance tips

关于javascript - 尝试导航到另一个页面时 IE7 和 IE8 出现 "Stop running this script"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6505512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com