用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 相关文章推荐
在线编辑器的实现原理(兼容IE和FireFox)
Mar 09 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
Jun 04 Javascript
JavaScript为对象原型prototype添加属性的两种方式
Aug 01 Javascript
jquery ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
Dec 10 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
Sep 25 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
Sep 15 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
Sep 23 Javascript
详解webpack3编译兼容IE8的正确姿势
Dec 21 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
Vue指令指令大全
Feb 09 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
Feb 18 jQuery
代码精简的可以实现元素圆角的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 session应用实例 登录验证
2009/03/16 PHP
php 将excel导入mysql
2009/11/09 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
告诉大家什么是JSON
2008/06/10 Javascript
ppk谈JavaScript style属性
2008/10/10 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
Javascript实现单例模式
2016/01/24 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
python列表去重的二种方法
2014/02/14 Python
python序列类型种类详解
2020/02/26 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
暑期教师培训方案
2014/06/07 职场文书
先进党支部申报材料
2014/12/24 职场文书
公积金贷款承诺书
2015/04/30 职场文书
教师节校长致辞
2015/07/31 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python