点击按钮后会打开一个子窗口:
<button id="btn" onclick="myWindow = window.open('http://www.example.com/index', '', 'toolbars=0,resizable,scrollbars')">Start</button>
按钮点击后,父窗口将重定向到另一个页面。
$('#btn').click(function(){
parent.location.href = 'http://www.example.com/popup';
});
如果我没有重定向父窗口,我可以检查父窗口中是否存在子窗口,如下所示:
if(!myWindow.closed){
alert('Yup, still there.');}
由于父窗口正在重定向,我无法检查myWindow
是否已关闭。
怎么可能?
答案 0 :(得分:1)
通过javascript轻松实现它是不可能的。这是因为安全性。想象一下,如果一个网站可以访问你打开的所有标签,那将是多么糟糕。所以Javascript仅限于它随附的页面的DOM。
所以你能做的就是使用websockets。有一个名为websocket-rails
的websockets的rails实现。这允许您以异步方式与客户端通信。这样就可以让你实现一个方法来验证客户端是否打开了一个vertan页面。
Websockets一开始并不容易理解,但它们绝对值得一读!