gpt4 book ai didi

jquery - 添加 Facebook SDK 后加载时间更长

转载 作者:行者123 更新时间:2023-12-01 03:10:48 24 4
gpt4 key购买 nike

我正在努力为我的网站添加 Facebook 社交按钮。您可以查看website here.

我是 Facebook API 的初学者,但是在页脚中添加代码后,网站的加载时间变得更长。

我通过Google做了一些研究,但没有找到任何好的解决方案。我尝试添加开源 jQuery 社交插件,但这并没有如我所愿。

我希望能够使用默认的 Facebook 点赞/分享按钮(当前位于页脚)。

有什么方法可以减少我用 jQuery 添加的当前代码的加载时间吗?或者有没有其他方法可以保留默认的 Facebook 点赞/分享按钮而不影响加载时间?

这是我在 <body> 之后添加的当前 JavaScript 代码标签:

<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'your-app-id',
xfbml : true,
version : 'v2.3'
});
};

(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

下面是页脚处的 HTML 代码:

<li><div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"></div></li>

提前致谢!

最佳答案

好吧,既然我们解决了这个问题,我们就将 facebook 加载移到页面加载之后进行,如下所示:

$(window).load( function(){ 
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s);
js.id = id;
js.onload = function() { fbAsyncInit(); }
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
});

我所做的唯一更改是直接向脚本标记添加一个 onload,该标记会在脚本加载时触发,因为它会在正文加载之后加载,从而触发 facebook 的 api 基本上像正常一样启动。

关于jquery - 添加 Facebook SDK 后加载时间更长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com