用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 加载时自动调整图片大小
May 28 Javascript
JS获取时间的方法
Jan 21 Javascript
jQuery实现contains方法不区分大小写的方法
Feb 13 Javascript
JavaScript设计模式学习之“类式继承”
Mar 12 Javascript
JavaScript观察者模式(经典)
Dec 09 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
javascript RegExp 使用说明
May 21 Javascript
基于JavaScript定位当前的地理位置
Apr 11 Javascript
jQuery表单验证之密码确认
May 22 jQuery
微信小程序实现购物页面左右联动
Feb 15 Javascript
Vue解决echart在element的tab切换时显示不正确问题
Aug 03 Javascript
使用PDF.js渲染canvas实现预览pdf的效果示例
Apr 17 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
实现树状结构的两种方法
2006/10/09 PHP
Smarty+QUICKFORM小小演示
2007/02/25 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
python创建线程示例
2014/05/06 Python
python实现绘制树枝简单示例
2014/07/24 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
selenium+python环境配置教程详解
2019/05/28 Python
浅析python内置模块collections
2019/11/15 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
群众路线教育实践活动实施方案
2014/10/31 职场文书
大学生实习推荐信
2015/03/27 职场文书
生活委员竞选稿
2015/11/21 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书