从子窗口设置父窗口的URL?

4
这是我想要做的事情:在我的主JSP / HTML页面上提交表单后,会打开一个带有一些链接的新页面。当我单击其中任何一个链接时,该链接应在父窗口中打开。也就是说,从哪个窗口开始的那个窗口。我该怎么做?
4个回答

11

在 JavaScript 中使用 window.opener.location.href。

例如:

<a href="javascript:void(0);" onclick="window.opener.location.href='linkedFile.html';">Click me!</a>

4

这需要 JavaScript 的支持。HTML 的 target 无法定位到父窗口(opener)。

如果启用了 JavaScript,以下代码将在父窗口中打开页面;如果禁用了 JavaScript,则会在新窗口中打开。此外,如果当前页面没有 opener 窗口,它也会优雅地处理。

<a href="page.php" 
   onclick="if (typeof window.opener != 'undefined')   // remove this line break
            window.opener.location.href = this.href; return false;"  
   target="_blank">
Click
</a>

MDC Docs on window.opener


2
@nickf 为了防止JS禁用时页面在当前窗口打开,这部分是可选的,但在许多情况下,您不希望它替换当前文档。 - Pekka
1
你不能将HTML的target设置为_parent吗? - Jayen

3

如果在iframe中的同一页上,请使用parent.location.href。如果是另一个完整的选项卡/窗口,请使用opener.location.href


0
window.opener.location.href = "https://www.google.com/";

一旦将URL(字符串)分配给location.href,此代码将重新加载父窗口。


这与2010年已接受的答案有何不同? - Zsolt Meszaros

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接