有没有办法从IFRAME溢出到父框架的内容?
我有一个UI小部件,因为性能原因需要放在IFRAME中,所以我们可以很容易地把它联合到联盟网站。 小部件的UI包含显示在其他页面内容顶部的工具提示。 请参阅下面的屏幕截图或访问该网站以查看它的实际使用情况。 有没有办法使IFRAME中的内容与父框架的内容重叠?
工具提示内容需要重叠父框架内容http://segdeha.com/assetshttp://img.dovov.combookabach-calendar.png
不,这是不可能的。 忽略任何历史原因,现在它将被视为一个安全漏洞 – 例如。 许多网站将不可信的内容放入iframe(iframe源是不同的来源,因此不能根据相同的原始策略修改父框架)。
如果这些不受信任的内容有一种机制将内容放在iframe的边界之外,它可以(例如)在父框架的真实login字段上放置一个“相同的”logindiv(或其他),从而窃取用户名/密码信息。 哪会吸。
我找不到让框架内容stream出框架的方法,但我确实find了一种方法来解决它,方法是将工具提示移动到父文档中,并将其放在(z-index)iframe 。
方法是:
1)在父文档中findiframe
2)从DOM中的工具提示元素中删除工具提示元素,并将其添加到包含iframe元素的父文档中。
3)你可能需要调整Z-索引和定位,这取决于你是如何做到这一点的。
您可以使用parent.document访问iframe的父文档。
jQuery的(提示)卸下摆臂(); var iframeParent = jQuery(“#the_id_of_the_iframe”,parent.document)[0] .parentNode; iframeParent.appendChild(提示); //调整z-index,定位
这可能是因为它不适合您的要求,或者实际上可能无助于(!),但可能不值得注意UFrame 。 这是一种iframe和div的混合体,可能被打包成一个小部件(最好的办法是给客户端一个<script>
标签,这会吸引UFrame和相关的标记)。 我不确定的是你是否可以达到你所要求的覆盖范围,但这可能值得玩一玩。 对不起,我不能更具体,但它不是我实际使用自己的东西,我只是把它join书签,以备将来参考。
如果您知道工具顶部可以创build的绝对顶部值,您可以创build一个div,即内容的高度+工具提示将显示的最高距离。将iframealignmentdiv的底部。 确保iframe和div是透明的。 那么应该显示带有工具提示的iframe内容。 虽然这是让自己的头痛,确保像突出显示在所有浏览器工作相同的头痛。
将您当前的iframe和build议的divembedded到父级iframe中,然后将父级iframe放入第三方,两全其美!
据我所知,这是不能做到的。 为什么不使用XHR请求并填充div?