JS版include函数

首先声明,本文非我原作,在一blog看到此文,然后结合一网友回复整理此文.

用法:
include_js(src,[reload]);
src: js文件的路径名
reload:可选参数,0或1,表示是否重复加载同一个url的js文件。
用途:
本函数可以用于一些广告和统计的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); 
}

但是这样当加载的js文件含有document.write语句时,在IE下没有反应,但在Mozilla Firefox 下就会让你原来的网页消失,只显示document.write出来的内容.对此问题一网友给出了一种比较好的解决办法,当然是重写document.write方法.下面网友原做内容:
有一个可以让document.write信息显示出来的方法:
先在网页中需要显示write出来的内容的地方加入一个div标签:
<div id='jsdiv'></div>
然后在include_js之前加上这句:
document.write = function (s)
{
  document.getElementById('jsdiv').innerHTML+=s;
  return false;
}
这样不仅可以不让document.write方法破坏网页,也避免了write出来的信息丢失的痛苦。

偶测试了下果然好用.嘿嘿
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值