情况一, window.onload 指定的 function 是匿名的, 则只执行后者, 且动作是后者的动作. 如:
- [html] view plain copy
- <html>
- <head>
- <script type="text/javascript">
- alert('a');
- window.onload=function(){ //
- alert('b');
- }
- alert('c');
- </script>
- </head>
- <body onload="alert('d');">
- </body>
- </html>
---- 显示: acd
情况二, window.onload 指定的 function 不是匿名的, 则都会执行, 前者先于后者. 如:
- [html] view plain copy
- <html>
- <head>
- <script type="text/javascript"> alert('a');
- window.onload=fn(); // 后续脚本不执行 function fn(){
- alert('b');
- } alert('c');
- </script>
- </head>
- <body onload="alert('d');">
- </body>
- </html>
---- 依次显示: abd
window.onload 在 < BODY > 中
情况三, window.onload 指定的 function 是匿名的, 则只执行后者, 但动作前者是前者的动作. 如:
- [html] view plain copy
- <html>
- <head>
- </head>
- <body onload="alert('a');">
- <script type="text/javascript">
- alert('b');
- window.onload=function (){
- alert('c');
- }
- alert('d');
- </script>
- </body>
- </html>
---- 依次显示: bdc
情况四, window.onload 指定的 function 不是匿名的, 则都会执行, 前者优于后者. 如:
- [html] view plain copy
- <html>
- <head>
- </head>
- <body onload="alert('a');">
- <script type="text/javascript"> alert('b');
- window.onload=fn(); // 后续脚本未执行 alert('c');
- function fn(){
- alert('d');
- }
- </script>
- </body>
- </html>
js 中有 window.onload 和 < BODY > 中的 onload 属性同时存在时
来源: http://www.bubuko.com/infodetail-2604730.html