【发布时间】:2011-10-08 04:40:02
【问题描述】:
我有父母的id,但没有孩子iframe。
有没有办法在父 iframe 中返回 iframe?
或者,特定iframe 中的所有iframes?
使用 jQuery 查找带有$('iframe') 的元素似乎不起作用。
【问题讨论】:
标签: javascript jquery iframe
我有父母的id,但没有孩子iframe。
有没有办法在父 iframe 中返回 iframe?
或者,特定iframe 中的所有iframes?
使用 jQuery 查找带有$('iframe') 的元素似乎不起作用。
【问题讨论】:
标签: javascript jquery iframe
如果iframe 的src 属性具有相同的域、协议和端口,则您已设置。如果没有,因为Same Origin Policy,你什么也做不了。
假设您没有违反政策...
var iframe = document.getElementsByTagName('iframe')[0],
iframeDocument = iframe.contentWindow || iframe.contentDocument,
internalIframes = iframeDocument.getElementsByTagName('iframe');
你需要使用||短路评估漏洞,因为IE是不同的。
var internalIframes = $('iframe:first').contents().find('iframe');
【讨论】:
<iframe> 中提取动态生成的<svg>。发挥了作用(幸运的是 SOP 不适用,因为没有 src 属性 - 框架充满了 JS API)。
var childFrames = frames['parentId'].frames
进行递归并从 top.frames 开始可能也适合您的需求......并且具有更少的 DOM 沉重的“getElementsByTagName”
或者如果您在子 i 框架中,但您只需要获取框架上的句柄,这将为您获取 id:window.frameElement.id
**仅在 IE 中测试 :(
【讨论】: