Web_JavaScript_页面多个window.onload需求问题解决;
2014-09-19 09:55
483 查看
特别说明:当页面出现多个window.onload时,就会出现意想不到的事情,比如后面的window.onload会覆盖前面的window.onload。那怎么解决有需要多个函数在window.onload下执行呢!?实现代码如下:
->window_onload.js
// 注意:会被嵌入页面的Onload覆盖;
function externalFn() {
console.log("->The Onload in External JS!");
}
window.onload = function() {
externalFn();
}
->window_onload.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>window_onload加载问题</title>
<script type="text/javascript" src="window_onload.js"></script>
<script type="text/javascript">
function insideFn() {
console.log("->The Onload inside page!");
}
// 注意:会覆盖外部JS中的Onload
/*window.onload = function() {
insideFn();
}*/
// 改善
(function autoRun() {
var oldFn = window.onload;
if(typeof oldFn != "function") {
window.onload = insideFn;
}else {
window.onload = function() {
oldFn();
insideFn();
}
}
})();
</script>
</head>
<body>
</body>
</html>
这样就能保证:不论你在加入代码之前,有没有window.onload,都能保证页面能正常运行,而不必担心新加的window.onload会覆盖之前有可能存在的window.onload!
->window_onload.js
// 注意:会被嵌入页面的Onload覆盖;
function externalFn() {
console.log("->The Onload in External JS!");
}
window.onload = function() {
externalFn();
}
->window_onload.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>window_onload加载问题</title>
<script type="text/javascript" src="window_onload.js"></script>
<script type="text/javascript">
function insideFn() {
console.log("->The Onload inside page!");
}
// 注意:会覆盖外部JS中的Onload
/*window.onload = function() {
insideFn();
}*/
// 改善
(function autoRun() {
var oldFn = window.onload;
if(typeof oldFn != "function") {
window.onload = insideFn;
}else {
window.onload = function() {
oldFn();
insideFn();
}
}
})();
</script>
</head>
<body>
</body>
</html>
这样就能保证:不论你在加入代码之前,有没有window.onload,都能保证页面能正常运行,而不必担心新加的window.onload会覆盖之前有可能存在的window.onload!
相关文章推荐
- 一个页面中多个window.onload = function(){}冲突问题解决思路
- 关于页面中body onload 和 window.onload 冲突的问题的解决
- 关于页面中body onload 和 window.onload 冲突的问题的解决
- 一个页面中需要多个window.onload = function(){}冲突问题解决
- 一个页面中多个window.onload = function(){}冲突问题解决思路
- 页面中body onload 和 window.onload 冲突的问题的解决
- 解决一个页面多个window.onload问题
- 页面中body onload 和 window.onload 冲突的问题的解决
- 关于页面中body onload 和 window.onload 冲突的问题的解决
- 一个页面中多个window.onload = function(){}冲突问题解决方案
- 解决WEB页面引入javascript脚本时提示未结束的字符串常量的问题
- 解决JavaScript页面刷新 与 弹出窗口问题 无提示关闭窗口
- 解决把水晶报表下载到客户端过程中,出现下载整个页面(.aspx)或者直接载web页中打开word文件的问题!
- 解决JavaScript页面刷新与弹出窗口问题
- window.onload 关于页面加载完毕的问题
- JavaScript页面刷新与弹出窗口问题解决方法
- 终于解决了一个困扰我许久的问题:通过window.showModalDialog打开的页面,Form提交,标题丢失
- 解决AJAX读取页面中的Javascript问题 document.write
- JavaScript页面刷新与弹出窗口问题解决方法
- JavaScript页面刷新与弹出窗口问题解决方法