首页 > 编程语言 >javascript:页面中有多处window.onload时的处理(chrome 105.0.5195.125)

javascript:页面中有多处window.onload时的处理(chrome 105.0.5195.125)

时间:2022-09-26 22:45:25浏览次数:81  
标签:5195.125 onload console log function javascript window typeof

一,js代码:

<html>
<head>
    <meta charset="utf-8"/>
    <title>测试</title>
</head>
<body>
<script>
//console.log("window.onload未执行前的值:"+window.onload);
//console.log("window.onload未执行前的类型:"+typeof(window.onload));

//第一处onload
window.onload = function() {
    console.log('window.onload1');
}
//console.log("window.onload第一次执行过后的值:"+window.onload);
//console.log("window.onload第一次执行过后的类型:"+typeof(window.onload));
//第二处onload
window.onload = function() {
    console.log('window.onload2');
}
//console.log("window.onload第二次执行过后的值:"+window.onload);
//console.log("window.onload第二次执行过后的类型:"+typeof(window.onload));
//加载函数到window.onload
function addLoadEvent(myOnload) {
                var oldOnload = window.onload;
                console.log("window.onload当前的值:");
                console.log(oldOnload);
                console.log("window.onload当前的类型:"+typeof(window.onload));
                if (typeof window.onload != 'function') {
                    window.onload = myOnload;
                } else {
                    window.onload = function() {
                        oldOnload();
                        myOnload();
                    }
                }
}

//函数
function onl oad1() {
     console.log('function onl oad1');
}
//函数
function onl oad2() {
     console.log('function onl oad2');
}
//调用
addLoadEvent(onload1);
//调用
addLoadEvent(onload2);

</script>
</body>
</html>

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/
         或: https://gitee.com/liuhongdi

说明:作者:刘宏缔 邮箱: [email protected]

二,测试效果

 

 可以看到如果直接在页面中写入多个window.onload时,后面的函数会覆盖前面的,

所以我们需要根据判断加入之前的函数

三,查看chrome的版本:

 

标签:5195.125,onload,console,log,function,javascript,window,typeof
From: https://www.cnblogs.com/architectforest/p/16732822.html

相关文章