公共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 相关文章推荐
javascritp实现input输入框相关限制用法
Jun 29 Javascript
使用JavaScript和C#中获得referer
Nov 14 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
May 05 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
快速实现jQuery多级菜单效果
Feb 01 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
Angular 4.x 动态创建表单实例
Apr 25 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
Oct 24 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 Javascript
js实现烟花特效
Mar 02 Javascript
vue中用 async/await 来处理异步操作
Jul 18 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
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
javascript 运算数的求值顺序
2011/08/23 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
5款非常棒的Python工具
2018/01/05 Python
python调用摄像头显示图像的实例
2018/08/03 Python
分析python请求数据
2018/08/19 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
pytorch打印网络结构的实例
2019/08/19 Python
Python类及获取对象属性方法解析
2020/06/15 Python
python字典的值可以修改吗
2020/06/29 Python
python 实现aes256加密
2020/11/27 Python
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
新加坡交友网站:be2新加坡
2019/04/10 全球购物
试述DBMS的主要功能
2016/11/13 面试题
求职者应聘的自我评价
2013/10/16 职场文书
战友聚会邀请函
2014/01/18 职场文书
2014年化验室工作总结
2014/11/21 职场文书
文员岗位职责范本
2015/04/16 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python