用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 相关文章推荐
解析jQuery与其它js(Prototype)库兼容共存
Jul 04 Javascript
javascript中定义类的方法汇总
Dec 28 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
Jun 09 Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
Angular下H5上传图片的方法(可多张上传)
Jan 09 Javascript
AngularJS表单提交实例详解
Feb 18 Javascript
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
小程序实现展开/收起的效果示例
Sep 22 Javascript
node-red File读取好保存实例讲解
Sep 11 Javascript
js 数据类型判断的方法
Dec 03 Javascript
代码精简的可以实现元素圆角的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
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
浅谈django orm 优化
2018/08/18 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
金讯Java笔试题目
2013/06/18 面试题
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
保险内勤岗位职责
2014/04/05 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
工作检讨书500字
2014/10/19 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
小型婚礼主持词
2015/06/30 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python