window.onload兼容ie和ff以及多次调用导致相冲突的解决方法
来源:互联网 发布:淘宝开店认证安全问题 编辑:程序博客网 时间:2024/06/07 03:15
有的JavaScript脚本必须等待页面加载结束 才能正常执行。
对于这样的情况有两个解决方法:
1、将脚本写到html的结束位置。这样只有html全部接在完毕后才会加载执行JavaScript脚本。
2、将脚本放在任意位置。通过 window.onload来执行脚本。
***********************************************************************
一般使用下面的办法来执行页面加载时所需要调用的函数:
<!– 页面加载脚本 –>
<script type=”text/javascript”>
window.onload = function(){
if(window.document.all){
window.attachEvent(”onload”, windowOnload);
} else {
window.addEventListener(”load”, windowOnload(), false);
}
}
//页面加载时需要执行的方法
function windowOnload(){
alert(2);
}
</script>
********************************************************************************
但是,一般的大型项目中都包含框架,如果框架页面里也调用了window.onload方法,或者body触发了onload事件 (即:<body onload=”javascript: test();”></body>),然后在框架中的局部页面也需要触发window.onload事件,此时就需要使用下面的办法来避免多次调用window.onload方法导致的冲突问题了:
先定义一个全局的方法:
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!=’function’){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
接下来,在框架页面和局部页面中,都可以通过这样方式来调用window.onload()方法:
<!– 页面加载脚本 –>
<script type=”text/javascript”>
addLoadEvent(windowOnload);
function windowOnload(){
alert(2);
}
</script>
以下是我遇到的解决方法,其他页面加载我的js,为了防止和他页面的onload冲突,我的js中的处理
var _sso_onload = function(){
alert(’1111′);
}
然后在我的js最后加上
var addEvent = function(obj,eventType,func){if(obj.attachEvent){obj.attachEvent(”on” +
eventType,func);}else{obj.addEventListener(eventType,func,false)}};
addEvent(document.body,’load’,function(){_sso_onload();initUserName();});
- window.onload兼容ie和ff以及多次调用导致相冲突的解决方法
- javascript中window.onload和body onload冲突的解决方法
- javascript中window.onload和body onload冲突的解决方法
- IE和FF的兼容
- 部分IE下bug解决方法和兼容IE,FF方法
- IE和FF兼容
- 兼容ie和ff的无缝滚动
- 兼容ie和ff的无缝滚动
- JS_兼容IE和FF的写法
- css_兼容IE和FF的写法
- 能兼容ie和ff的CSS
- FF和IE的一些兼容解决方案
- mouseover和mouseout多次触发解决方法(兼容ie和firefox)
- mouseover和mouseout多次触发解决方法(兼容ie和firefox)
- 火狐FF和IE兼容下margin-top无效的解决方法
- javascript兼容FF和IE
- ie下的window onload
- 兼容FF IE的Event
- 给xmlhttp建立个连接池
- dhtmlXTreeObject 部分方法
- IE6中设置 div 的最小高度 页面不出现滚动条
- 树形图dhtmlXTreeObject
- ie与火狐中常见的一些兼容问题
- window.onload兼容ie和ff以及多次调用导致相冲突的解决方法
- 接口和抽象类的区别
- 在linux下一些常用的关机/重启命令
- gSOAP中文文档
- Linux命令行帮助解析
- linux帮助命令和系统信息命令
- 什么是Linux的登录shell与非登录shell
- Sudo控制普通用户使用命令的权限
- bash: ifconfig: command not found 解决办法