discuz加载多个window.onload = function () {}事件冲突的解决方法 [复制链接]

moqu8 2017-10-2

29 0

最近在学写discuz的插件,弄了个幻灯片js,需要用到window.onload = function ();结果跟discuz的冲突了。

window.onload = function (){
alert('跟DZ的冲突了,弹不出来!by www.moke8.com')
};

本来就不太熟JS,搞了半天不知道咋办,后来网上看到下面这个方法解决了。

function hehe() {
alert('呵呵');
}
 
function haha() {
alert('哈哈');
}
 
if (document.all) {
window.attachEvent('onload')
}
else {
window.addEventListener('load', haha, false);
window.addEventListener('load', hehe, false);
}

另一种也可以试试

<html
<head
<title>test</title
<script language="javascript"
window.onload = function() {
    alert('1');
};
</script
</head
<body>
    <h1>呵呵</h1>
    <script type="text/javascript">
        var saved;
        if (typeof window.onload == 'function') {
            saved = window.onload;
        }
        window.onload = function() {
            if (saved) saved();
            alert('2');
        };
    </script>
</body
</html>


成功解决了DISCUZ和自己调用的window.onload = function ()冲突问题。


最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心