javascript on Load和Onunload

问题描述 投票:0回答:6

考虑以下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>
    
javascript html onload onunload
6个回答
17
投票

window.onunload = goodBye;

,您也可以考虑在某些浏览器中使用onBeforeunload事件:

window.onbeforeunload = goodBye;

当您编写
window.onunload = goodBye();

时,您分配了从

goodBye
返回到
unload
事件的任何处理程序。由于什么都没有返回,因此不会有事件处理程序。您需要引用该功能:
window.onunload = goodBye;
    


4
投票
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);



1
投票
Herey

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>


1
投票
    

您可以做这样的事情: var userName = ""; function promptName() { userName = prompt("What's your name ?", "") return userName; } function goodBye() { alert("Goodbye, " + userName + "!"); } window.onload=promptName(); window.onbeforeunload = goodBye();


1
投票

这对我有用,但是公认的答案却没有。这也支持更多的浏览器事件。

也可以与各种
onbeforeunload

0
投票
脚本一起使用。

var doOnUnload = window.attachEvent || window.addEventListener; var eventType = window.attachEvent ? 'onunload' : 'unload'; doOnUnload(eventType, function(e) { console.log('godbye'); });


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.