如何在我的文档中“弹出”一个IFRAME?

我正在将同一域中的页面加载到我页面上的iframe

iframe与JavaScript驱动的表单交互后,我希望它接管整个文档。 我不能只将页面的位置设置为iframe的位置,因为无法通过传递URL参数将其设置为我想要的状态。

我可以找到跳出iframe的所有引用都是关于控制弹出窗口的iframe的页面。 我想从代码中弹出iframe ,该代码位于主文档的上下文中。

(我的项目实际上是一个Google Chrome用户脚本,与我没有服务器控制权的第三方网站进行交互。)

我正在使用jQuery但是vanilla JavaScript当然也很好。

您不能通过常规方法( location.href = "..." )真正“弹出”iframe,因为您将丢失表单和JS状态。

同样,代码如:

 document.head=frames[0].document.head; document.body=frames[0].document.body; 

似乎工作但不会保留JS状态。

可以迭代框架的内容并将结构和值复制到当前页面,但这对我来说似乎是个傻瓜。

我建议你让它看起来像框架已经接管了。 您可以使用以下代码执行此操作:

 var usurpingFrame = $("YOUR FRAME SELECTOR"); usurpingFrame.css ( { position: "fixed", top: "0", left: "0", "z-index": "8888", margin: "0", height: "100%", border: "none" } ); usurpingFrame.width ($(window).width() ); $("*").not (usurpingFrame).not (usurpingFrame.parents() ).hide ();