公共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 相关文章推荐
js wmp操作代码小结(音乐连播功能)
Nov 08 Javascript
仿新浪微博登陆邮箱提示效果的js代码
Aug 02 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
Javascript 多物体运动的实现
Dec 24 Javascript
javascript与Python快速排序实例对比
Aug 10 Javascript
BootStrap整体框架之基础布局组件
Dec 15 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
Jan 16 Javascript
angular4 共享服务在多个组件中数据通信的示例
Mar 30 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
npm qs模块使用详解
Feb 07 Javascript
js+canvas实现画板功能
Sep 13 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
用PHP和MySQL保存和输出图片
2006/10/09 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
linux 下实现python多版本安装实践
2014/11/18 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
python列表推导式入门学习解析
2019/12/02 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
行政助理岗位职责
2013/11/10 职场文书
家具促销活动方案
2014/02/16 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
岳庙导游词
2015/02/04 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
管辖权异议上诉状
2015/05/23 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python