我有以下场景:
- 主页
- 嵌套页面
- 公共(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/