【问题标题】:Is there a way to change frames in the Internet Explorer script console?有没有办法在 Internet Explorer 脚本控制台中更改框架?
【发布时间】:2012-03-22 10:05:28
【问题描述】:

在 Google Chrome 的开发工具中,有一个简单的下拉菜单可以选择您要在哪个窗口中执行脚本:

在 Internet Explorer 中是否有等效项?我正在尝试从控制台运行脚本,就好像它们来自 iframe,而不是顶级窗口一样。

【问题讨论】:

  • 他要求在 IE 中提供便利功能.. 哈哈哈。抱歉...今天又进行了 4 小时“该死的 IE 不工作而其他浏览器都在工作”的会议...

标签: javascript internet-explorer-9 script-console


【解决方案1】:

这是可能的,但它明显不如 Chrome 方便。

如果您能够获得对框架或其 window 对象的引用(使用,例如:document.getElementById(xxx).contentWindow),您可以使用控制台的特殊 cd 函数。这记录在这里:http://msdn.microsoft.com/en-us/library/ie/gg589530(v=vs.85).aspx#UsingCDacrossFrames

令人讨厌的是,这意味着如果您想获得对嵌套 iframe 的引用,则必须在您感兴趣的框架的每个父级中执行此操作。在 IE 中进行调试是,嗯,很有趣。

【讨论】:

  • 请注意,这只适用于 IE 9 或更高版本。不幸的是,在 IE 8 中似乎没有办法做到这一点。
【解决方案2】:

要跟进Ben's answer,那就是

cd([reference])

cd(frames[n])

n 是 window.frames 数组中的有效索引

【讨论】:

    【解决方案3】:

    该功能现已在 IE 11 中可用。如果您打开开发工具 (F12),右上角会出现一个组合框,可让您选择目标框架。

    (注意:这是在 IE 11.0.9600.17728 上,不确定是否每个版本的 IE 11 都有它。)

    【讨论】:

      【解决方案4】:

      F12 -> 脚本 -> 选择你的页面 -> 控制台

      编辑:

      您可以在 java 脚本上开始调试,添加断点和其他东西。您运行调试器的键就像在 Visual Studio 中一样。

      【讨论】:

      • 第一种方法对我不起作用。然而,Ben 在下面的 cd 函数是坚如磐石的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      相关资源
      最近更新 更多