Javascript onload and onunload
Javascript onload and onunload
考虑以下HTML片段,其中包含一些使用prompt
和unload
的javascript。prompt()
方法运行良好,但我希望在重新加载或离开页面时发出类似"再见,用户"的警告。非常感谢您的帮助。
<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();
如果你想用这种方式,你有三种方式:
// by this way you use the name of the function, so you override the onunload function with goodBye function
window.onunload = goodBye;
或
// This way you redefine the function
window.onunload = function(){goodBye()};
我最喜欢的是因为它可以让你添加更多的功能:
// This way you create a event listener which allows you to add as many functions as you ant
window.addEventListener("unload", goodBye, false);
如图
window.onbeforeunload = function() {
alert("Goodbye, " + promptName() + "!");
};
或
window.onbeforeunload = goodBye;
尽管我建议将用户名保存到glob中,方法是在第一次提示后加载接收用户名的函数外设置一个var,然后当他们离开时,您不必再次提示他们输入姓名
<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>
加载前
您可以这样做:
var userName = "";
function promptName()
{
userName = prompt("What's your name ?", "")
return userName;
}
function goodBye()
{
alert("Goodbye, " + userName + "!");
}
window.onload=promptName();
window.onbeforeunload = goodBye();
这对我有效,但公认的答案不适用。这也支持更多的浏览器事件。
这也可以与各种onbeforeunload
和beforeunload
脚本一起使用。
var doOnUnload = window.attachEvent || window.addEventListener;
var eventType = window.attachEvent ? 'onunload' : 'unload';
doOnUnload(eventType, function(e)
{
console.log('godbye');
});
相关文章:
- Selenium WebDriver and JavaScript change
- PHP and Javascript functions
- Javascript Return and if/else
- SetTimeout and clearTimeout in Javascript
- lightbox in html 5 and javascript
- TimelineJS and AngularJS
- timeago.js with datatable and PHP
- javascript button ajax and php
- Ajax and Json with Rails
- Combine onload, onresize and onclick
- php布尔值's小写AND大写和数字布尔值'可以接受
- setTimeout and V8
- Jquery post and onclick
- Moment js and IOS
- Rails 3.2 and Paloma gem
- Backbone, TypeScript, and super
- onunload如何正常工作
- iframe and JavaScript on different pages
- JSON and jQuery Search
- Javascript onload and onunload