javascript
document.querySelector('#share').onclick = function () {
var popup = window.open('http://www.facebook.com/sharer/sharer.php?u=http://www.google.com', '', "width=400, height=400");
popup.onbeforeunload = function() {
alert('unload');
}
return false;
};
HTML
<a id="share" href="#">share</a>
有两件事:
我想在用户完成 facebook 分享后做一些事情,如果我通过打开的窗口分享页面,则窗口将在一切完成后自动关闭,所以我想使用
beforeload
模仿共享回调后
的事件,但是当弹出窗口关闭时我无法获取它。如果用户只是关闭窗口或者取消分享也会触发该事件,所以这不是最好的解决方案,有没有facebook分享成功的回调api?
最佳答案
使用setInterval
解决了这个问题:
document.querySelector('#share').onclick = function () {
var popup = window.open('http://www.facebook.com/sharer/sharer.php?u=http://www.google.com', '', "width=400, height=400");
var popupTick = setInterval(function() {
if (popup.closed) {
clearInterval(popupTick);
console.log('window closed!');
}
}, 500);
return false;
};
关于javascript - 如何检测弹出窗口关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31513828/