判断window.onload是否多次使用的方法

作者:拾光时间:2026-10-28 14:17:44浏览:419

本文介绍如何处理window.onload多次赋值导致的覆盖问题。通过判断当前onload是否存在,将原有函数重命名并保存,再重新定义onload以依次执行原函数与新回调,确保多次加载事件均能正常触发。

处理window.onload多次调用的方案

在网页开发中,大家可能都使用过window.onload来执行窗口加载后的逻辑。然而,当页面中多次使用window.onload时,后面的赋值会覆盖前面的函数,导致之前的回调无法执行。那么,该如何判断并处理这种情况呢?可以参考以下代码实现。


<script>
function onloadCallback(){
//Todo

}
if (window.onload) {
var onload_random = 'onload'+Math.random();
window[onload_random] = window.onload;
window.onload = function (){
window[onload_random]();
onloadCallback();
};
}
else {
window.onload = function (){
onloadCallback();
};
}
</script> 
作者最新文章