公共js在页面底部加载的注意事项介绍


Posted in Javascript onJuly 18, 2013

JavaScript脚本文件都放在页面底部加载,可以有效地加快页面的加载速度。
但是,php控制器一般这样写:

$this->load->view($HEADER); 
$this->load->view($MENU); 
$this->load->view($VIEW_SHOW, $data); 
$this->load->view($FOOTER);

$FOOTER是个共用模版,用于加载js及css文件。
$VIEW_SHOW作为主模版,则可能要单独写些js代码,这些代码通常需要使用公共文件的资源的话,把js写到$FOOTER的后面就不方便了,jQuery的$(document).ready又用不了。这时候,用window.onload就可以了,如下:
window.onload = function() { 
(function($) { 
function test() {alert(123);} 
//或写些基于jQuery的绑定什么的 
})(jQuery) 
};

但如果你想从window.onload外调用里面的函数,比如你想在这个窗口的子iframe中调用parent.test()是不会有结果的。
这时,变通一下,把函数作全局变量就可以了。
var test; // 全局作用域的声明 
window.onload = function() { 
(function($) { 
test = function() {alert(123);}; 
//或写些基于jQuery的绑定什么的 
})(jQuery) 
};

只在需要时,才把私有的函数改成全局的,是更安全的做法。
Javascript 相关文章推荐
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
Mar 06 Javascript
jQuery Jcrop插件实现图片选取功能
Nov 23 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
JS小功能(列表页面隔行变色)简单实现
Nov 28 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
Aug 30 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
Dec 08 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
JS实现换肤功能的方法实例详解
Jan 30 Javascript
判断“命令按钮”是否被鼠标单击详解
Jul 31 Javascript
解决ant Design中Select设置initialValue时的大坑
Oct 29 Javascript
利用div+jquery自定义滚动条样式的2种方法
Jul 18 #Javascript
JavaScript实现复制功能各浏览器支持情况实测
Jul 18 #Javascript
GRID拖拽行的实例代码
Jul 18 #Javascript
去掉gridPanel表头全选框的小例子
Jul 18 #Javascript
gridpanel动态加载数据的实例代码
Jul 18 #Javascript
javaScript NameSpace 简单说明介绍
Jul 18 #Javascript
JS获取鼠标坐标的实例方法
Jul 18 #Javascript
You might like
Terran魔法科技
2020/03/14 星际争霸
PHP Curl多线程原理实例详解
2013/11/06 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
浅析Node.js非对称加密方法
2018/01/29 Javascript
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
在Django的上下文中设置变量的方法
2015/07/20 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
中医专业应届生求职信
2013/11/17 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
入党个人总结范文
2015/03/02 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫