离开网站后添加书签

时间:2014-05-24 22:18:18

标签: javascript

如何显示一个窗口,询问“您想要添加此网站添加到书签吗?”当用户离开页面时?
我知道如何显示一个简单的对话框,但是如何显示一个带有“是”和“否”按钮的对话框,以及如何使用Javascript将该页面添加到书签? 另外,我想知道如何确保用户只被问过一次,这样他回来时就不会再看到对话框了。

这就是我能做的:

<?php 
echo '<script type="text/javascript"> 
window.onbeforeunload = function() {
    return "Youre leaving the site.";
};
</script>'; 
?>

1 个答案:

答案 0 :(得分:1)

你的问题有三点:

<强> 1。当用户离开页面时,如何显示“是/否”对话框?

使用confirm('text')显示是/否对话框(实际标签可能不同:在我的浏览器上 - 意大利语中的Firefox - 按钮为“取消”和“确定”)。用户点击“true / Yes”后返回OK,或点击“false / No”后返回Cancel。所以:

window.onbeforeunload = function() {
    var answer = confirm('Would you like to add this site to the bookmarks?');
}

<强> 2。如何将网站添加到书签?

查看this SO问题。如果你问我,从Javascript中添加一个网站到书签是非常糟糕的做法,它甚至不是一个标准化的东西。您可能希望将其放在一个函数中,比如bookmarkThis(),然后您的代码将变为:

    window.onbeforeunload = function() {
        if (confirm('Would you like to add this site to the bookmarks?')) {
            bookmarkThis();
        }
    }

第3。如何确保下次不再提示用户?

简单:使用 cookies 来存储数据。有关如何在Javascript中处理Cookie的一些示例,请参阅this小指南。

    window.onbeforeunload = function() {
        wasPrompted = (...) // Read a cookie called, say, "wasPrompted"
        if (wasPrompted != '1' and confirm('Would you like...')) {
            bookmarkThis();
            // Set the cookie "wasPrompted" to '1'
        }
    }