javascript - 如何在 Internet Explorer 中暂停 JavaScript 执行?

标签 javascript internet-explorer debugging iframe browser

我有以下场景:

  • 主页
  • 嵌套页面
  • 公共(public) JS 文件(包含在两个页面中)

嵌套页面随后被加载到主页的 iframe 中。两个页面都在页面加载时从公共(public) JS 文件调用一个函数。

现场演示:
http://www.ecmazing.com/misc/pause-execution/mainpage.html
http://www.ecmazing.com/misc/pause-execution/nestedpage.html
http://www.ecmazing.com/misc/pause-execution/common.js

普通的 JS 文件包含一个全局函数,它将 H1 元素涂成红色。我想在该函数的开头暂停执行,以便在 H1 元素仍为黑色时暂停执行。

如何在主页上做:

这是微不足道的。只需加载页面,打开浏览器的开发工具,选择common.js文件,在函数的第一行设置一个断点。现在,重新加载 页面。断点将坚持重新加载,并且执行将暂停。

如何在嵌套页面上做:

现在,在 Chrome 和 Firefox (Firebug) 中,上面设置的断点(用于主页)也适用于嵌套页面。两个页面都使用相同的 JS 文件,在该文件中设置断点将自动应用于两个页面。不幸的是,这条规则不适用于 IE。

更糟糕的是,即使我随后设置断点,然后仅重新加载 iframe,断点也不会持续存在。

所以,我不知道如何在IE中暂停执行嵌套页面。可以吗? (我通过在函数开头手动设置 debugger; 来处理这个问题,但如果可能的话,我希望能够通过 IE 中的开发工具设置断点.)

最佳答案

我能找到的最接近的解决方案是在主页上的 loadIFrame() 函数中设置一个断点,然后“介入”直到嵌套页面的 Common.js 文件加载完毕。在一个更复杂的示例中,您随后可以在新的 Common.js 文件中设置断点,它们将正常工作,直到下一次加载 iframe 时,它​​们将再次全部丢失。

关于javascript - 如何在 Internet Explorer 中暂停 JavaScript 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628666/

相关文章:

scala - Spark 在计算大文件时崩溃

javascript - 滑动菜单 - 单击 div 关闭对某个 div 不起作用

php - 2个没有提交按钮的下拉菜单

javascript - 如何将自定义大小的图标放入 jQuery UI 按钮中?

html - Css 下拉导航栏在 IE 中不起作用

asp.net-mvc - Visual Studio ASP.NET 开发服务器不断返回旧页面

javascript - 按下按键时发出声音的 JavaScript 事件

internet-explorer - 为什么这个rotate3d() CSS转换在Internet Explorer 10中不能按预期工作?

html - SVG 作为 <img> 标签中的源未显示在 Internet Explorer 11 中

c# - 为什么按钮事件函数在 ASP.NET 中的页面重新加载期间运行?