2012-10-22 23 views
1

我正在绑定使用javascript获取位于嵌套在iframe和frameset中的帧中的HTML元素。 HTML结构如下:无法使用javascript获取iframe和frameset中的帧(域相同)

<iframe id="central_iframe" name="central_iframe" (...)> 
    <frameset cols="185, *" border="0" framespacing="0" frameborder="0"> 
     <frame src="/subdomain" name="SideFrame" id="SideFrame" (...)> 

以前我做过这样的:

然而,这并不在这里,因为myIframe.contentDocument返回null工作。另一方面,myIframe.contentWindow返回一个根本没有属性的窗口(因此myIframe.contentWindow.document是未定义的)。同样,当我尝试

central_iframe.SideFrame 

也是一个没有任何属性的窗口返回。

编辑:该页面不是我的,因此我无法更改其来源。我只是想与它互动。

我正在Chrome开发人员工具中进行测试。我也尝试过在GeckoFX中得到相同的结果。任何帮助将不胜感激。

+0

如果可能,我会感到震惊。反XSS安全功能应该可以防止在现代浏览器中出现这种情况。 –

+0

@JustinMorgan我之前的印象只有在框架来源的域和主页不同的情况下才会被阻止。然后我再次知道这一点,就像我在stackoverflow上阅读的那样。 – Arbil

回答

0

经过更多的研究,Justin Morgan的建议似乎确实是正确的,我想要的是不可能的。我通过在浏览器中加载父iframe来开始部分解决方法。这允许我正常访问子框架(SideFrame)。

0

iframe指向具有src属性的其他源!你不能在iframe中嵌入任何html。将框架集放入您指向iframe src的html文件中。然后,您可以使用window.parent从脚本中选择iframe。您可以使用document.frames访问框架集的框架。

+0

感谢您的回复。我无法访问该网页的来源。我只是试图与它互动。 – Arbil

相关问题