2015-07-28 22:10:46 4467次浏览 2条回答 0 悬赏 10 金钱

外部js文件一直加载不进来,会造成网站的同步阻塞,有什么办法:在加载一定时间后没有成功就放弃加载?

  • 回答于 2015-07-29 08:58 举报

    如果你的外部js是网络问题加载不进来,如果对位置没有要求的话,script标签放在dom结束的</body>处试试;另外,script标签有一个async="async"属性,可以设置script是同步还是异步执行,但是对js加载不进来这个问题好像没有用,你也可以试下。

  • 回答于 2015-07-29 09:33 举报

    下面是无阻塞加载脚本的技术方案:
    XHR Eval

    顾名思义,通过XHR读取脚本,通过Eval令脚本生效。
    代码如下:

    var xhrObj = new XMLHttpRequest();
    xhrObj.onreadystatechange = function(){
        if(xhrObj.readyState == 4 && 200 == xhrObj.status){
            eval(xhrObj.responseText);
        }
    };
     
    xhrObj.open("GET", "A.js", true);
    xhrObj.send("");
    

    由于XMLHttpRequest本身不能跨域,所以该方法不能跨域。
    参考:http://www.cnblogs.com/sharpxiajun/p/4072396.html

您需要登录后才可以回答。登录 | 立即注册
word1018808441
CEO

word1018808441 重庆

注册时间:2015-03-24
最后登录:2018-07-04
在线时长:629小时49分
  • 粉丝49
  • 金钱7395
  • 威望40
  • 积分14085

热门问题