当我在script标签内写完window.onload=function(){}函数时,可是在运行界面是并无运行这个函数,此我便在网上找了一下,并总结了如下几种状况javascript
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <script src="./js/jquery-3.3.1.js"></script> <script type='text/javascript'> window.onload = function () { alert("页面加载完成====》onload"); } </script> </head> <body> /***/ </body> </html>
页面加载完毕以后完美运行此函数html
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <script src="./js/jquery-3.3.1.js"></script> <script type='text/javascript'> window.onload = function () { alert("页面加载完成====》onload"); } function after() { alert("页面after====》onload"); } </script> </head> <body onload="after()"> </body> </html>
此时只会执行body元素里面的onload属性对应的函数,不会去执行window.onload事件。因此,当指定了body的onload之后,window.onload就无效了java
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <script src="./js/jquery-3.3.1.js"></script> <script type='text/javascript'> function after() { alert("页面after====》onload"); } </script> </head> <body onload="after()"> </body> <script type='text/javascript'> window.onload = function () { alert("页面加载完成====》onload"); } </script> </html>
此时执行的函数就是window.onload事件对应的函数jquery
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <script type="text/javascript"> alert('a'); window.onload=function () { alert('b'); } ; alert('c'); </script> </head> <body onload="alert('d');"> </body> </html>
弹出层结果为:a、c、d函数
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> </head> <body onload="alert('d');"> </body> <script type="text/javascript"> alert('a'); window.onload=function () { alert('b'); } ; alert('c'); </script> </html>
弹出层结果为:a、c、b测试
备注:onunload:用户退出界面时的事件spa