公共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 测试及效验工具
Apr 18 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
Jan 20 Javascript
node.js中的fs.readdirSync方法使用说明
Dec 17 Javascript
纯javascript模仿微信打飞机小游戏
Aug 20 Javascript
AngularJS实现表单手动验证和表单自动验证
Dec 09 Javascript
在使用JSON格式处理数据时应该注意的问题小结
May 20 Javascript
浅谈函数调用的不同方式,以及this的指向
Sep 17 Javascript
如何在基于vue-cli的项目自定义打包环境
Nov 10 Javascript
使用vue自定义指令开发表单验证插件validate.js
May 23 Javascript
jquery中为什么能用$操作
Jun 18 jQuery
JavaScript装饰者模式原理与用法实例详解
Mar 09 Javascript
Vue 中获取当前时间并实时刷新的实现代码
May 12 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
PHP4实际应用经验篇(2)
2006/10/09 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
原生JS无缝滑动轮播图
2019/10/22 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
python字符串常用方法
2018/06/14 Python
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
工作中的自我评价如何写好
2013/10/28 职场文书
关于圣诞节的广播稿
2014/01/26 职场文书
网络技术专业推荐信
2014/02/20 职场文书
公司授权委托书
2014/04/04 职场文书
赡养老人协议书
2014/04/21 职场文书
团支部推优材料
2014/05/21 职场文书
小学数学教研活动总结
2014/07/01 职场文书
老龄工作先进事迹
2014/08/15 职场文书
三方股份合作协议书
2014/10/13 职场文书
博物馆观后感
2015/06/05 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis