【问题标题】:Switching browser developer tools console context to particular iframe将浏览器开发人员工具控制台上下文切换到特定 iframe
【发布时间】:2012-10-31 09:52:20
【问题描述】:

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

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

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

frames[n].window.somePublicFunction();

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

有什么建议吗?

【问题讨论】:

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


    【解决方案1】:

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

    设置断点:

    • 加载您的页面
    • 打开开发者工具,进入“脚本”
    • 找到要添加断点的行并单击行号左侧
    • 按“开始调试”(这将重新加载您的页面 - 如果这会导致问题,您可以在 How do you create breakpoints in IE Developer Tools for code that runs while loading? 尝试解决方案)
    • 执行包含断点的代码
    • 当断点被命中时,使用控制台
    • (您可以运行命令window.location.href 以通过其中加载的页面的URL 查看当前窗口/框架上下文是什么。)

    【讨论】:

      【解决方案2】:

      您可以在 Internet Explorer 11 中使用 console.cd() 方法更改 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

      【讨论】:

      • 谢谢,但这是关于 IE8 的。从那时起,IE 中的开发工具有了相当大的进步。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      • 2020-09-10
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      相关资源
      最近更新 更多