1

我的应用程序打开了一个弹出窗口,如下所示:

function newPopup(url, windowName) {
    window.open(url,windowName,'height=768,width=1366,left=10,top=10,titlebar=no,toolbar=no,menubar=no,location=no,directories=no,status=no');
}
<a href="JavaScript:newPopup('lobby.do', 'lobby');">Enter Lobby</a>

在该弹出窗口中,我希望用户能够通过单击链接来移动该弹出窗口的位置:

<a href="game.do">New Game</a>

但是,在弹出窗口中单击此链接时,弹出窗口会自动关闭,并且不会发生重定向。我尝试添加一个 onClick 并使用 javaScript:window.location,但得到了相同的结果。知道是什么原因造成的吗?我已经在 Chrome 和 Firefox 中进行了测试。

4

4 回答 4

3

只需将target链接的 设置为弹出窗口的名称。

<a href="game.do" target="lobby">New Game</a>

或者保存从返回的值window.open并设置它的.location.

function newPopup(url, windowName) {
    return window.open(url,windowName,'height=768,width=1366,left=10,top=10,titlebar=no,toolbar=no,menubar=no,location=no,directories=no,status=no');
}

<a onclick="window.lobby=newPopup('lobby.do', 'lobby'); return false;" href="#">Enter Lobby</a>
<a href="window.lobby.location='game.do'; return false;" href="#">New Game</a>
于 2013-01-15T19:33:28.253 回答
1

在新窗口中打开它需要做的是在这样的链接target_blank末尾添加:html

<a href="http://link-to-your-game" target="_blank">Enter Lobby</a> 
于 2013-01-15T18:35:43.700 回答
0

为什么不使用ajax:

<a onclick="ajaxcall_to_newpage()"> click here to update the content </a>

以及您的 ajax 函数从服务器请求新内容并将其呈现为 html:

..
}).done(function(data){
   $('#your_div_of_pop_up').text(data);
});

工作完成了!

于 2013-01-15T18:36:15.507 回答
0

如果我理解正确,您需要为弹出窗口命名。然后您可以引用该弹出窗口来更改它的内容。

你只需要一点JavaScript

function createPopup(url) {
    newwindow=window.open(url,'testWindow','height=800,width=600');
    if (window.focus) {newwindow.focus()}
    return false;
}

可以这样使用:

<a href="#" onclick="createPopup('http://www.google.com')" target="mine">use google</a>
<a href="#" onclick="createPopup('http://www.stackoverflow.com')" target="mine">use stackoverflow</a>

因此,您可以从主窗口控制弹出窗口。

于 2013-01-15T19:24:55.157 回答