用JS实现的一个include函数

2016-02-19 09:18 40 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的用JS实现的一个include函数,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - Web开发 】

很多语言都有类似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;iscripts.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);  
}

来源:https://www.tulaoshi.com/n/20160219/1590278.html

延伸阅读
标签: Web开发
代码如下: !-- //ASP分页函数 function ShowListPage(page,Pcount,TopicNum,maxperpage,strLink,ListName){     var alertcolor = '#FF0000';     maxperpage=Math.floor(maxperpage);     TopicNum=Math.floor(TopicNum);     p...
标签: Web开发
无标题文档 支付宝与六大代理签订协议刷卡积分可网上购物支付宝为网店保驾护航支付宝红包送来红地毯紧急天气预报"红色风暴"空降支付宝小红包背后大名堂Q88.net全面无缝接合支付宝电子支付规范走出第一步 使用专业版受鼓励从支付宝看电子商务的发展谁能与支付宝PK?国内第一家引入支付宝的网络图库正式开通新浪网:中关村在...
标签: Web开发
贴出来与大家共勉。 先看一段代码, script var objReg = /^[a-zA-Z]{1}(:){1}$/gi; alert(objReg.test("a:"));//返回true alert(objReg.test("a:"));//返回false /script 为什么第二个test会返回false?是不是觉得奇怪。 原因我解答如下: test实际上与exec方法的执行方法是一致的,只是返回值不一样。test返...
标签: Web开发
代码如下: Function AutoLinkURLs(strString) Dim match, matches, offset, url, email, link, relnkAutoLinkURL relnkAutoLinkURL = "a href=""[[%URL%]]""[[%URLText%]]/a" If Not IsObject(regExp) Then Set regExp = New RegExp regExp.Global = True regExp.IgnoreCase = True 'Look for URLs regExp.Pattern = "...
正好有时间所以用C#写了一段正则表达式,作用是删除 Page 里面Code 中的 HTML标签,这在做采集信息,消除其中的HTML很有用处。 以下是引用片段: public string checkStr(string html)       {           System.Text.RegularExpressions.R...

经验教程

152

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部