对不起,如果我没有正确完成我的研究, - 但找不到我需要的答案,所以这里有:
在我的主页面中,我使用mainPlayer = window.open();
打开一个新窗口此窗口保持打开状态,直到用户点击mainPlayer.close();事件。 (或者只是x关闭窗口)
然而,我们的想法是让玩家继续玩游戏,同时浏览其余页面。
但是一旦用户离开打开mainPlayer窗口的页面,对mainPlayer窗口的引用似乎就会丢失。
如何从网站的其他页面检查mainPlayer窗口是否已打开并在点击事件中关闭它?
THX 约翰
修改
我检查了这个帖子:Find window previously opened by window.open 并且如答案所示,没有运气。 但也许我误解了这个想法。
我做的是:
我创建了
function tjek_ClosePlayer()
{
var playerUrl = 'custom_inserts/custom_player.php';
var mainPlayer= window.open('', 'mainPLayer', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=605, height=100') ;
if(mainPLayer.location == 'about:blank' ){ mainPlayer.location = playerUrl ; }
mainPLayer.close();
}
然后从刷新的页面调用函数onclick。 没有运气。
任何?
答案 0 :(得分:0)
关闭父窗口时,确实会破坏对弹出窗口的引用。我想这是无法通过代码控制的东西。
你可以做的一件事就是在打开弹出窗口时写出一个cookie,弹出窗口可以定期检查并采取行动。
例如:在打开弹出窗口之前写出一个名为X='opened'
的cookie。在弹出窗口中定期检查X
的值,一旦发现它等于'close'
,删除cookie并关闭弹出窗口 - 通过window.close()
注意:如果您拥有父网页以及同一域提供的弹出页面,这将更容易。