用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 相关文章推荐
js 数组克隆方法 小结
Mar 20 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
js验证IP及子网掩码的合法性有效性示例
Apr 30 Javascript
Node调试工具JSHint的安装及配置教程
May 27 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
jquery判断复选框是否被选中的方法
Oct 16 Javascript
AngularJS通过$location获取及改变当前页面的URL
Sep 23 Javascript
vue实现简单loading进度条
Jun 06 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
Vue项目查看当前使用的elementUI版本的方法
Sep 27 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
微信小程序位置授权处理方法
Jun 13 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 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
python中模块查找的原理与方法详解
2017/08/11 Python
基于python的字节编译详解
2017/09/20 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
关于python写入文件自动换行的问题
2018/06/23 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
幼儿园园长自我鉴定
2013/10/22 职场文书
店长职务说明书
2014/02/04 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书