用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 相关文章推荐
实用javaScript技术-屏蔽类
Aug 15 Javascript
解决 FireFox 下[使用event很麻烦] 的问题.
Aug 22 Javascript
range 标准化之获取
Aug 28 Javascript
js切换div css注意的细节
Dec 10 Javascript
javascript通过class来获取元素实现代码
Feb 20 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
May 30 Javascript
jQuery在ul中显示某个li索引号的方法
Mar 17 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
Sep 01 Javascript
js实现5秒倒计时重新发送短信功能
Feb 05 Javascript
JS传参及动态修改页面布局
Apr 13 Javascript
js+css实现打字效果
Jun 24 Javascript
vue基于viewer实现的图片查看器功能
Apr 12 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/08/08 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
Node.js事件的正确使用方法
2019/04/05 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python如何实现文本转语音
2016/08/08 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
python中的常量和变量代码详解
2018/07/25 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
关于毕业的中学校园广播稿
2014/01/26 职场文书
运动会通讯稿200字
2014/02/16 职场文书
创意婚礼策划方案
2014/05/18 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
通知函的格式
2015/04/27 职场文书
员工规章制度范本
2015/08/07 职场文书
遗嘱范文
2015/08/07 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server