1

我想链接到亚马逊音乐预览播放器作为我网站的弹出窗口。我有这个代码:

<a href="http://www.amazon.de/gp/recsradio/radio/B000002OK3/" target="_blank" onclick="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;" onkeypress="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;">Link</a>

我的问题是,当我单击 Amazon Popup 中的专辑封面时,带有链接的父站点会使用目标 Amazon url 刷新。当我通过在地址栏中键入 url 打开弹出 URL 然后单击封面时,会打开一个带有目标 url 的新窗口(这是我想要强制的)。

是否可以不通过链接弹出窗口传递父关系?

4

2 回答 2

0

我用这样的方法解决了我的问题:

使用 JS 从我的站点打开本地 popup.php,同时将 amazonurl 作为 var 传递。

<a onkeypress="window.open(this.href,'popup','scrollbars=1,width=900,height=600'); return false;" onclick="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;" rel="nofollow" target="_blank" href="http://domain.com/popup.php?amazonurl=http://[...]">Link</a>

在 popup.php 我使用

<script language="javascript" type="text/javascript">  
window.opener = null; window.location.href = "<?php echo $_GET['amazonurl']; ?>;</script> 

使 windpw.opener = null 然后使用亚马逊 URL 刷新弹出窗口。

于 2013-03-15T07:35:00.850 回答
0

确保您没有使用“popper”作为 winow.open 的两个实例的标识符。打开初始弹出窗口的主窗口应该与弹出窗口本身的主窗口不同,除非您希望它更改已经打开的弹出窗口(在这种情况下,onclick 属性中的 window.open 基本上是不必要的) .

我的意思是:假设您正在使用有问题的代码启动原始弹出窗口,如下所示:

<a href="popup.html" onclick="window.open(this.href, 'popper'); return false;">Popup</a>

带有相关代码的弹出窗口是这样的(popup.html):

<a href="http://www.amazon.de/gp/recsradio/radio/B000002OK3/" target="_blank" onclick="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;" onkeypress="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;">Link</a>

您需要确保原始弹出窗口标识符与弹出窗口中的标识符不同。所以,原来的弹出应该是这样的:

<a href="popup.html" onclick="window.open(this.href, 'original-popper'); return false;">Popup</a>
于 2013-02-12T23:54:39.743 回答