Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
facebook javascript SDK-异步加载_Javascript_Facebook_Facebook Javascript Sdk - Fatal编程技术网

facebook javascript SDK-异步加载

facebook javascript SDK-异步加载,javascript,facebook,facebook-javascript-sdk,Javascript,Facebook,Facebook Javascript Sdk,我正在使用facebook SDK for Javascript,有人能解释一下异步加载SDK意味着什么,这段代码如何表示异步加载SDK,以及这将如何影响我的应用程序 // Load the SDK asynchronously (function(d){ var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) {

我正在使用facebook SDK for Javascript,有人能解释一下异步加载SDK意味着什么,这段代码如何表示异步加载SDK,以及这将如何影响我的应用程序

// Load the SDK asynchronously  
    (function(d){
       var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
       if (d.getElementById(id)) {return;}
       js = d.createElement('script'); js.id = id; js.async = true;
       js.src = "//connect.facebook.net/en_US/all.js";
       ref.parentNode.insertBefore(js, ref);
      }(document));

min2bro,一般来说,脚本/SDK有两种加载方式:

同步。这通常是包含内容时的默认设置。假设当您请求某些内容时,浏览器必须等待该内容被包含,然后才能获取其他内容。换句话说,它一次只能做一件事。这很好也很简单。它是“线性”的,你可以很容易地追踪发生了什么

优点:简单。易于理解,易于使用。减少了开发人员的麻烦

缺点:速度和用户体验。如果您在同一页面(来自不同服务)上有5个社交类/共享/pin/任意按钮,则会显著降低页面速度,因为用户可能无法向下滚动并查看页面的其余部分,因为他们正在等待类似按钮出现

异步。对于脚本,仅当您在此处尝试手动指定时才会发生。这意味着您在说“用户可以在Facebook SDK可用之前查看整个页面并开始滚动”。“Facebook SDK”是指任何与Facebook相关的功能,如“喜欢”按钮、Facebook连接等

优点:速度和用户体验。如果你的页面上有很多脚本,你的用户仍然可以阅读文章/查看页面并享受内容

缺点:更难相处。根据您所访问的站点,您可能需要重新构造代码,以便它等待Facebook SDK可用。您不能在粘贴的代码段之后包含一个随机脚本,并期望它能够正常工作。您必须将功能包装在事件处理程序中,特别是
window.fbasyninit=function(){…}


TL;DR:Async意味着您可能需要更改自己的代码,如果它依赖于Facebook SDK的话。如按钮等可能需要较长时间才能显示。异步还意味着更好的用户体验。

关于此主题,有很多参考资料,请参阅和