7

Chrome 有最简单的方法,只需从下拉列表中选择一个框架。Firefox 提供了cd(frame)不太实用的功能,但只要您愿意发现哪个框架是哪个框架,它就可以完成这项工作......

但是我们如何在 Internet Explorer 开发者工具中做同样的事情呢?

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

frames[n].window.somePublicFunction();

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

有什么建议么?

4

2 回答 2

2

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

设置断点:

  • 加载您的页面
  • 打开开发者工具,进入“脚本”
  • 找到要添加断点的行并单击行号左侧
  • 按“开始调试”(这将重新加载您的页面 - 如果这会导致问题,您可以尝试如何在 IE 开发人员工具中为加载时运行的代码创建断点?
  • 练习包含断点的代码
  • 当断点被命中时,使用控制台
  • (您可以运行命令window.location.href以通过其中加载的页面的 URL 来查看当前窗口/框架上下文是什么。)
于 2013-05-01T09:39:43.557 回答
1

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

鉴于此 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

于 2014-01-24T18:24:43.033 回答