用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 输入框数字限制插件
Nov 10 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
Oct 11 Javascript
JavaScript中this的四个绑定规则总结
Sep 26 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
Oct 05 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
Javascript的this用法
Jan 16 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
Jan 18 jQuery
微信小程序实现炫酷的弹出式菜单特效
Jan 28 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
vue实现设置载入动画和初始化页面动画效果
Oct 28 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
Apr 24 Javascript
vue - props 声明数组和对象操作
Jul 30 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写的小东西
2006/12/06 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
php bootstrap实现简单登录
2016/03/08 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
2019/10/17 PHP
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
Python+django实现文件上传
2016/01/17 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
python里 super类的工作原理详解
2019/06/19 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
手工制作的豪华英式沙发和沙发床:Willow & Hall
2019/05/03 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
广告学专业推荐信范文
2013/11/23 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
中学教师自我鉴定
2014/02/07 职场文书
北体毕业生求职信
2014/02/28 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
寒山寺导游词
2015/02/03 职场文书
护士辞职信怎么写
2015/02/27 职场文书
用电申请报告范文
2015/05/18 职场文书
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫