动态加载js文件

以下是遇到的几种动态加载JavaScript文件的方式,持续更新中。。。

一、使用document.write/writeln()方式

该种方式可以实现js文件的动态加载,原理就是在重写文档流,这种方式会导致整个页面重绘。

实现方式:

document.writeln("<script src=\"http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js\"></script>");
 
 
  • 1

需要注意的是特殊字符的转义。

二、使用jQuery

使用getScript(url,callback)方法实现动态加载js文件

$.getScript('test.js',function(){
    alert('done');
});

三、使用原生js方法

function loadJs(url,callback){ var script=document.createElement('script'); script.type="text/javascript"; if(typeof(callback)!="undefined"){ if(script.readyState){ script.onreadystatechange=function(){ if(script.readyState == "loaded" || script.readyState == "complete"){ script.onreadystatechange=null; callback(); } } }else{ script.onload=function(){ callback(); } } } script.src=url; document.body.appendChild(script); } loadJs("test.js",function(){ alert('done'); }); 还可以使用同样的原理动态加载css文件,只不过插入的的父节点是head标签。 后台:

首先添加命名空间 using System.Web.UI.HtmlControls;

代码动态添加css文件的引用

?
1
2
3
4
5
6
HtmlGenericControl myCss = new HtmlGenericControl();
myCss .TagName = "link" ;
myCss .Attributes.Add( "type" , "text/css" );
myCss .Attributes.Add( "rel" , "stylesheet" );
myCss .Attributes.Add( "href" , ResolveUrl(Page.ResolveClientUrl( "css文件路径" )));
this .Page.Header.Controls.AddAt(0, myCss );

代码动态添加JS文件的引用

?
1
2
3
4
5
HtmlGenericControl myJs = new HtmlGenericControl();
myJs .TagName = "script" ;
myJs .Attributes.Add( "type" , "text/javascript" );
myJs .Attributes.Add( "src" , ResolveUrl(Page.ResolveClientUrl( "js文件路径" )));
this .Page.Header.Controls.AddAt(1, myJs );

很简单的方法,在这里记录一下

转载地址:

http://blog.csdn.net/a1247529789/article/details/51577254

http://www.jb51.net/article/55246.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值