Javascript 打造Facebook和谷歌+;按钮同时加载

Javascript 打造Facebook和谷歌+;按钮同时加载,javascript,facebook,facebook-like,google-plus,google-plus-one,Javascript,Facebook,Facebook Like,Google Plus,Google Plus One,是否有办法使“like”和“+1”按钮同时加载。如果在JSFIDLE上按“Run”,您将看到不仅Google+加载明显早于Facebook,而且Google+按钮也会在Facebook按钮加载后向左然后向右移动 它破坏了场地的美学。人们解决这个问题的一些方法是什么?顺便说一句,我意识到已被弃用——这里使用它可以更容易地演示问题 window.fbasyninit=function(){FB.init({appId:'128762500483273',状态:true,cookie:true,x

是否有办法使“like”和“+1”按钮同时加载。如果在JSFIDLE上按“Run”,您将看到不仅Google+加载明显早于Facebook,而且Google+按钮也会在Facebook按钮加载后向左然后向右移动

它破坏了场地的美学。人们解决这个问题的一些方法是什么?顺便说一句,我意识到
已被弃用——这里使用它可以更容易地演示问题


window.fbasyninit=function(){FB.init({appId:'128762500483273',状态:true,cookie:true,xfbml:true});};(function(){var e=document.createElement('script');e.type='text/javascript';e.src=document.location.protocol+'//connect.facebook.net/en_US/all.js';e.async=true;document.getElementById('fb-root')。appendChild(e);}();

跟我们来

(功能(){ var po=document.createElement('script');po.type='text/javascript';po.async=true; po.src=https://apis.google.com/js/platform.js'; var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(po,s); })();
您可以隐藏包含按钮的容器,并在两个按钮都加载后显示。由于Facebook按钮加载速度较慢,因此您可以先隐藏按钮,然后显示容器。

您可以隐藏包含按钮的容器,并在它们都加载后显示。由于Facebook按钮加载速度较慢,因此您可以先隐藏按钮,然后显示容器。

您可以隐藏包含按钮的容器,并在它们都加载后显示。由于Facebook按钮加载速度较慢,因此您可以先隐藏按钮,然后显示容器。

您可以隐藏包含按钮的容器,并在它们都加载后显示。由于Facebook按钮加载速度较慢,因此您可以先隐藏容器,然后显示容器。

正如SimonPlus所回答的,您可以使用按钮隐藏容器,并在按钮准备就绪时显示容器。但我认为我们需要观察每个按钮的加载情况,因为谷歌plus的按钮不能保证总是提前加载

不幸的是,GooglePlus按钮API没有加载事件,所以它需要监听按钮的
iframe
load事件。Facebook提供了
xfbml.render
事件,我们可以收听它。然后我们调用callback,当两个按钮都准备好时,我们可以显示它们的容器


我已经创建了这种方法的示例。我使用
jQuery
异步加载按钮脚本,并在按钮开始创建时订阅加载事件。

正如SimonPlus所回答的,您可以用按钮隐藏容器,并在按钮准备就绪时显示它。但我认为我们需要观察每个按钮的加载情况,因为谷歌plus的按钮不能保证总是提前加载

不幸的是,GooglePlus按钮API没有加载事件,所以它需要监听按钮的
iframe
load事件。Facebook提供了
xfbml.render
事件,我们可以收听它。然后我们调用callback,当两个按钮都准备好时,我们可以显示它们的容器


我已经创建了这种方法的示例。我使用
jQuery
异步加载按钮脚本,并在按钮开始创建时订阅加载事件。

正如SimonPlus所回答的,您可以用按钮隐藏容器,并在按钮准备就绪时显示它。但我认为我们需要观察每个按钮的加载情况,因为谷歌plus的按钮不能保证总是提前加载

不幸的是,GooglePlus按钮API没有加载事件,所以它需要监听按钮的
iframe
load事件。Facebook提供了
xfbml.render
事件,我们可以收听它。然后我们调用callback,当两个按钮都准备好时,我们可以显示它们的容器


我已经创建了这种方法的示例。我使用
jQuery
异步加载按钮脚本,并在按钮开始创建时订阅加载事件。

正如SimonPlus所回答的,您可以用按钮隐藏容器,并在按钮准备就绪时显示它。但我认为我们需要观察每个按钮的加载情况,因为谷歌plus的按钮不能保证总是提前加载

不幸的是,GooglePlus按钮API没有加载事件,所以它需要监听按钮的
iframe
load事件。Facebook提供了
xfbml.render
事件,我们可以收听它。然后我们调用callback,当两个按钮都准备好时,我们可以显示它们的容器

我已经创建了这种方法的示例。我使用
jQuery
异步加载按钮脚本,并在按钮开始创建时订阅加载事件。

这并不“漂亮”,但您是否尝试过为每个div设置静态宽度?这将防止按钮的抖动

我见过的其他方法是用图像替换按钮,然后在鼠标悬停在按钮上时运行按钮加载操作。

这并不“漂亮”,但您是否尝试过为每个div设置静态宽度?这将防止按钮的抖动

我见过的其他方法是用图像替换按钮,然后在鼠标悬停在按钮上时运行按钮加载操作。

这并不“漂亮”,但您是否尝试过为每个div设置静态宽度?这将防止按钮的抖动

我见过的其他方法是用图像替换按钮,然后在鼠标悬停在按钮上时运行按钮加载操作。

这并不“漂亮”,但您是否尝试过为每个div设置静态宽度?这将防止按钮的抖动


我见过的其他方法是用图像替换按钮,然后在鼠标悬停在按钮上时运行按钮加载操作。

不订阅、侦听和检测添加额外的cod
<div id="fb-root"></div>
    <script>window.fbAsyncInit=function(){FB.init({appId:'128762500483273',status:true,cookie:true,xfbml:true});};(function(){var e=document.createElement('script');e.type='text/javascript';e.src=document.location.protocol+'//connect.facebook.net/en_US/all.js';e.async=true;document.getElementById('fb-root').appendChild(e);}());</script>


<p style="text-align:center">Follow us!</p>
<center>
<div class="g-plusone" data-size="medium"></div>
<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/platform.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>

<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="false"></div>

</center>