2010-08-24 82 views
2

这就是我想要做的事情:一旦在我的主JSP/HTML页面上提交了一个表单,就会打开一个带有某个链接的新页面。当我点击任何链接时,链接应在父窗口中打开。即我开始的窗口。我该怎么做呢?从子窗口设置父窗口的URL?

回答

9

使用window.opener.location.href在JavaScript

例如,

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

您需要为此支付JavaScript。 HTML的target不能定位到窗口的父窗口(opener)。

如果JavaScript已启用,以下将在父窗口中打开该页面,如果禁用了该窗口,则在新窗口中将其打开。另外,如果当前页面没有开启器窗口,它会优雅地反应。

<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

+0

很好的答案,但为什么'target =“_ blank”'? – nickf 2010-08-24 05:22:08

+2

@nickf防止页面在当前窗口打开,如果JS被禁用。该部分是可选的,但在很多情况下,你不会希望它取代当前文档 – 2010-08-24 05:24:13

+1

你不能将html的'target'设置为'_parent'吗? – Jayen 2014-06-28 05:40:49

3

使用parent.location.href如果它是在一个iframe在同一页上。如果它是另一个完整的标签页/窗口,则使用opener.location.href