考虑以下HTML摘要,其中包含一些JavaScript利用
prompt
和unload
。 prompt()
方法可以正常工作,但我想在重新加载或离开页面时提醒goodbye,user之类的东西。任何帮助都将受到极大的赞赏。
<body onload="promptName()" >
<script type="text/javascript">
function promptName()
{
var userName = prompt("What's your name ?", "")
return userName;
}
function goodBye()
{
alert("Goodbye, " + promptName() + "!");
}
window.onunload = goodBye();
</script>
</body>
window.onunload = goodBye;
,您也可以考虑在某些浏览器中使用onBeforeunload事件:
window.onbeforeunload = goodBye;
当您编写
window.onunload = goodBye();
时,您分配了从
goodBye
返回到unload
事件的任何处理程序。由于什么都没有返回,因此不会有事件处理程序。您需要引用该功能:window.onunload = goodBye;
window.onunload = goodBye();
如果您想分配三种方法:
// This method overrides the onunload function with goodBye function
window.onunload = goodBye;
or
// This method is like the above, but defines the goodBye function in-line
window.onunload = function(){ goodBye(); };
和我的最爱,因为它允许您添加更多功能:
// This method allows you to add as many functions as you want
window.addEventListener("unload", goodBye, false);
window.onbeforeunload = function() {
alert("Goodbye, " + promptName() + "!");
};
or
window.onbeforeunload = goodBye;
尽管我建议通过在第一个提示后将用户名设置为接收用户名的func,但我建议将用户名保存到地球范围,那么您不必在他们离开时再次提示他们的名字。
<body onload="promptName()" >
<script type="text/javascript">
function promptName()
{
var userName = prompt("What's your name ?", "")
return userName;
}
window.onbeforeunload = function() {
alert("Goodbye, " + promptName() + "!");
}
</script>
</body>
这对我有用,但是公认的答案却没有。这也支持更多的浏览器事件。
也可以与各种onbeforeunload
和var doOnUnload = window.attachEvent || window.addEventListener;
var eventType = window.attachEvent ? 'onunload' : 'unload';
doOnUnload(eventType, function(e)
{
console.log('godbye');
});