加载js代码

      要在一个按钮上加载一个js文件里的代码,这个对我来说还真是有点难,刚刚能写几句js的我,面对这个问题,手足无措。于是,去请教同事,在同事的帮助下,写完了一段原生的加载js代码的片段。

 

(function(){
    function createStandardXHR() {
        try {
            return new window.XMLHttpRequest();
        } catch( e ) {}
    }

    function createActiveXHR() {
        try {
            return new window.ActiveXObject( "Microsoft.XMLHTTP" );
        } catch( e ) {}
    }

    var xhr = window.ActiveXObject ?
        function() {
            return !this.isLocal && createStandardXHR() || createActiveXHR();
        } :
        createStandardXHR();
    xhr.onreadystatechange=function() {
        if (xhr.readyState==4) {
            if((xhr.status >= 200 && xhr.status <= 300) || xhr.status == 304){
                eval(xhr.responseText);
            }
        }
    }
    xhr.open('get','url',false);
    xhr.send(null);
})();

 用ajax请求去请求js里的代码,这段代码我要消化一会儿。

另一个同事看完我们写的这段代码,说这样子去请求不好,还涉及到跨域的问题。(跨域,我要上网查了,嘻嘻)他建议我去创建一个element对象,然后拼一个script标签出来。嗯,这个主意不错。

(function loadScript(url){
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.setAttribute('charset','utf-8')
    var d=new Date(),token = d.getFullYear()+ '' + (d.getMonth()+ 1) + '' + d.getDate();
    script.src = "url?" + token;
    document.body.appendChild(script);
})();
 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值