公共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中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
Jan 08 Javascript
浅析Prototype的模板类 Template
Dec 07 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
avalon js实现仿微博拖动图片排序
Aug 14 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
Apr 12 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
Apr 28 Javascript
js中的闭包学习心得
Feb 06 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
Aug 25 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
Jan 30 Javascript
Node.js API详解之 dgram模块用法实例分析
Jun 05 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
Aug 03 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安全开发库中文详细介绍
2015/03/22 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
2019/05/14 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
python的keyword模块用法实例分析
2015/06/30 Python
Python requests上传文件实现步骤
2020/09/15 Python
python如何构建mock接口服务
2021/01/28 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
全球最大的游戏市场:G2A
2018/07/05 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
餐厅销售主管职责范本
2014/02/19 职场文书
车间主任岗位职责
2014/03/16 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
新手初学Java网络编程
2021/07/07 Java/Android
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android