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

时间:2012-06-28 06:33:33

标签: javascript jquery iframe userscripts

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

您无法通过常规方法(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 ();