用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 自定义带默认值的函数
Jul 21 Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 Javascript
基于JavaScript实现移动端TAB触屏切换效果
Oct 20 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
Sep 14 Javascript
微信小程序实现点击返回顶层的方法
Jul 12 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 Javascript
vue自定义指令之面板拖拽的实现
Apr 14 Javascript
微信小程序的授权实现过程解析
Aug 02 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与MySQL交互使用详解
2006/10/09 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
php静态文件生成类实例分析
2015/01/03 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
PHP多态代码实例
2015/06/26 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
js调用css属性写法
2013/09/21 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
详解Python爬虫的基本写法
2016/01/08 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
团工委书记自荐书范文
2013/12/17 职场文书
创建青年文明号材料
2014/05/09 职场文书
合同意向书范本
2014/07/30 职场文书
Oracle使用别名的好处
2022/04/19 Oracle