在浏览器关闭时调用Javascript函数

时间:2011-03-25 21:44:27

标签: javascript browser dom-events

我有一个网站,现在我想要的是当用户切换到某个外部网站时,然后应该弹出一个广告,当用户关闭浏览器窗口时,广告应该弹出,我用过onunload,但是它显示了点击每个链接的消息,而且我在beforeunload上使用它,它几乎可以做任何事情,但它和onunload一样...

请有人知道我应该如何实现这个目标?

1 个答案:

答案 0 :(得分:0)

这不会阻止弹出窗口出现在页面刷新上,但会按要求执行此作业:

<script>
var isLinkClicked = false;

// Either plain JS solution:
var links = document.getElementsByTagName('a');
var l=links.length;
while (l--) {
    links[l].addEventListener("click", function() {
       isLinkClicked = true;
    }, false);
} 

// Or jQuery solution:
$("a").live("click", function() {
       isLinkClicked = true;
});


// And then Unload event listener:
window.addEventListener("unload", function(evt) {
    if (isLinkClicked) {
       isLinkClicked = false;
       return false;
    }

    // here comes the rest of the code
}, false);
</script>