用JS实现的一个include函数


Posted in Javascript onJuly 21, 2007

很多语言都有类似php中的include和require功能的函数,而唯独javascript没有。 
很早就想在js中实现类似的功能,尝试了很多次都没有成功,那天在google上搜索一些关于动态加载css文件的关键词时,发现一个blog(地址找不到了)上的一个为网页的head标签增加link元素的函数,于是就改了一下,写了这个函数。 

用法: 
include_js(src,[reload]); 
src: js文件的路径名 
reload:可选参数,0或1,表示是否重复加载同一个url的js文件。 

说明: 
当包含的js文件中有document.write方法时,在IE下没有反应,但在Mozilla Firefox 下就会让你原来的网页消失,只显示document.write出来的内容:mad:  
嘿嘿,对于这个问题,我自然有妙招: 
就是重定义 document.write方法,让他不显示任何东西。具体做法: 
在 include_js 之前加上这句 
document.write = function () { return false;}
这样,就算include过来的js文件含有document.write方法我们也不怕它破坏网页了!:lol::lol: 

用途: 
本函数可以用于一些广告和统计的js文件异步加载,避免了因加载js文件而造成的网页显示速度慢的问题。 

将此函数修改一下便可以动态加载css文件,不过用处就没有加载js文件的大。 

function include_js(path,reload)   
{   
       var scripts = document.getElementsByTagName("script");   
       if (!reload)   
       for (var i=0;i<scripts.length;i++)   
              if (scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return;   
       var sobj = document.createElement('script');   
       sobj.type = "text/javascript";   
       sobj.src = path;   
       var headobj = document.getElementsByTagName('head')[0];   
       headobj.appendChild(sobj);   
}
Javascript 相关文章推荐
JavaScript修改css样式style动态改变元素样式
Dec 16 Javascript
分享几种比较简单实用的JavaScript tabel切换
Dec 31 Javascript
jQuery的文档处理程序详解
May 10 Javascript
Vue.js Ajax动态参数与列表显示实现方法
Oct 20 Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
vue引用外部JS的两种种方法
Jan 28 Javascript
vue-cli创建的项目中的gitHooks原理解析
Feb 14 Javascript
JsonServer安装及启动过程图解
Feb 28 Javascript
javascript实现点击产生随机图形
Jan 25 Javascript
微信小程序组件生命周期的踩坑记录
Mar 03 Javascript
解读Vue组件注册方式
May 15 Vue.js
代码精简的可以实现元素圆角的js函数
Jul 21 #Javascript
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
Jul 21 #Javascript
用javascript实现读取txt文档的脚本
Jul 20 #Javascript
符合W3C网页标准的iframe标签的使用方法
Jul 19 #Javascript
javascript实现unicode和字符的互相转换
Jul 18 #Javascript
js实现的网页颜色代码表全集
Jul 17 #Javascript
JTrackBar水平拖动效果
Jul 15 #Javascript
You might like
对javascript和select部件的结合运用
2006/10/09 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
php curl批处理实现可控并发异步操作示例
2018/05/09 PHP
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
Vue props 单向数据流的实现
2018/11/06 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
爬山算法简介和Python实现实例
2014/04/26 Python
Python 功能和特点(新手必学)
2015/12/30 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
机器学习python实战之决策树
2017/11/01 Python
python和opencv实现抠图
2018/07/18 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
五一家具促销方案
2014/01/10 职场文书
小区消防演习方案
2014/02/21 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
小学优秀教师材料
2014/12/15 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL