将浏览器开发者工具控制台上下文切换到特定的if

时间:2012-10-31 09:52:21

标签: iframe internet-explorer-8 console ie-developer-tools

只需从下拉菜单中选择一个框架,Chrome就可以轻松完成此操作。 Firefox提供了cd(frame)功能,虽然你愿意发现哪个帧是哪个,但它的可用性较低但是能够完成工作......

但是我们如何在Internet Explorer Developer Tools中做同样的事情?

特别是在IE8中如果在以后的版本中发生了变化......通常的方法当然是编写这些行以访问特定帧的上下文:

frames[n].window.somePublicFunction();

但这似乎很麻烦,尤其是当你嵌套iframes时。找到正确的框架简直就是一种痛苦。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

如果该帧中已存在Javascript,则向该脚本添加断点。当IE命中断点时,控制台将在包含设置断点的代码的帧的上下文中运行。

设置断点:

  • 加载您的信息页
  • 打开开发人员工具,转到“脚本”
  • 找到要添加断点的留置权,然后单击行号左侧的
  • 按“开始调试”(这将重新加载您的页面 - 如果这会导致问题,您可以在How do you create breakpoints in IE Developer Tools for code that runs while loading?尝试解决方案)
  • 练习包含断点的代码
  • 点击断点时,使用控制台
  • (您可以运行命令window.location.href以查看当前窗口/框架上下文所加载页面的URL。)

答案 1 :(得分:1)

您可以使用console.cd()方法在Internet Explorer 11中更改JS控制台的上下文。

鉴于此iframe:

<iframe src="http://google.com" frameborder="0" id="someIframeID"></iframe>

您传递一个不带引号的ID或帧名称,以将上下文切换到该帧。在控制台中执行此命令。

console.cd(someIframeID);

要将上下文切换回父级,只需在没有任何参数的情况下调用console.cd();

参考:http://msdn.microsoft.com/en-us/library/ie/dn255006(v=vs.85).aspx#console_in