判断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>
作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
