如何显示一个窗口,询问“您想要添加此网站添加到书签吗?”当用户离开页面时?
我知道如何显示一个简单的对话框,但是如何显示一个带有“是”和“否”按钮的对话框,以及如何使用Javascript将该页面添加到书签?
另外,我想知道如何确保用户只被问过一次,这样他回来时就不会再看到对话框了。
这就是我能做的:
<?php
echo '<script type="text/javascript">
window.onbeforeunload = function() {
return "Youre leaving the site.";
};
</script>';
?>
答案 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'
}
}