【问题标题】:Does loading external scripts async on page increases latency in page load在页面上异步加载外部脚本是否会增加页面加载的延迟
【发布时间】:2013-12-10 08:49:14
【问题描述】:

我在异步模式下包含外部 JavaScript 文件 Facebook 和 CrazyEgg

所以我的问题是:这些脚本是否会增加执行 jQuery 就绪功能的延迟。

我在布局底部包含外部 JS 文件:

  setTimeout(function(){var a=document.createElement("script");
  var b=document.getElementsByTagName('script')[0];
  a.src=document.location.protocol+"//dnn506yrbagrg.cloudfront.net/pages/scripts/0012/6522.js?"+Math.floor(new Date().getTime()/3600000);
  a.async=true;a.type="text/javascript";b.parentNode.insertBefore(a,b)}, 1);

  window.fbAsyncInit = function () {
    FB.init({appId: "facebook_app_id", status: true, cookie: true});
  };
  (function(d){
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = '//connect.facebook.net/en_US/all.js';
    d.getElementsByTagName('head')[0].appendChild(js);
  }(document));

所以上面的外部 JS 可能会导致执行 my_function(); 的任何延迟?

myapp_js_file.js 包含在布局头部中

// myapp_js_file.js

$(document).ready(function() {
  my_function();
})

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    据我所知,调用任何东西(尤其是外部)都会增加延迟,因为需要完成更多请求。

    但我不知道 rails 是否缓存了类似的东西,尽管我对此表示怀疑。

    然而,增加的延迟(如果有的话)应该是名义上的

    【讨论】:

    • 感谢您对此发表看法,但由于我们以异步模式加载外部 js 文件,即使这样会导致延迟吗?
    • AFAIK 更多请求 = 更多时间
    • 但是延迟增加是名义上的
    猜你喜欢
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多