当前位置:  开发笔记 > 编程语言 > 正文

iFrame中的Firebug和jQuery选择器

如何解决《iFrame中的Firebug和jQuery选择器》经验,为你挑选了2个好方法。

我正在开发一个Web应用程序,并使用jQuery插件Colorbox弹出一个窗口,该窗口显示一个用于编辑父窗口元素的表单.我正在使用Firebug来调试我的Javascript和jQuery,我注意到我无法使用jQuery控制台命令行在我的Colorbox HTML表单中选择一个元素.例如:

$ date = $("#date");

从jQuery控制台命令行运行时不返回任何内容,即使我有一个id ="date"的输入元素,并且Firebug"element inspect"指针可以在iFrame中找到该元素.有没有办法让Firebug的控制台访问iFrame中的元素?

谢谢你的帮助!道格



1> bcherry..:

您正在寻找cd这里记录的方法:http://getfirebug.com/wiki/index.php/Command_Line_API

这是我用来自动跳转到任何iframed Facebook应用程序的iframe的书签.它应该提供足够的示例来修改您的使用.

javascript:with(_FirebugCommandLine){cd($$(".canvas_iframe_util")[0].contentWindow)}

请注意,这with通常是不好的做法,但这实际上是Firebug如何执行您在控制台中键入的内容,因此我模仿了这一点.

运行此命令后,您在命令行中输入的所有内容都将在iframe的上下文中执行.


为了澄清一下,如果你在Firebug控制台中,你只需要cd(iframedom.contentWindow)
这是天才.感谢您分享该代码段.它使Facebook iframe应用程序开发变得更加容易.

2> jholster..:

您需要将iframe的文档作为选择器的上下文传递,因为iframe有自己独立的DOM树:

$('#date', $('iframe').get(0).contentDocument);

要在iframe的内容中进行访问,必须从父文档的同一域加载.


在这里详细说明,.contentDocument属性可以在Chrome(和FF)中使用,但不能在IE <8中使用.你必须使用.document.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有