【发布时间】:2013-11-04 02:55:55
【问题描述】:
我的页面上的社交图标有一个奇怪的问题。 G+ 运行良好,但当我的 html 页面完成加载后,Twitter 分享按钮 + FB Like 按钮没有加载。
推特:
<a href="https://twitter.com/share" class="twitter-share-button">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
在这里,当页面完成加载时,我只看到纯文本“Tweet”(作为链接)。不是真正的推特按钮。
Facebook(在这里使用一些 Rails 代码来显示当前 URL),这里我什么也没看到:
<div id="fb-root"></div>
<script>(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/all.js#xfbml=1&appId=.......";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="<%= request.original_url %>" data-width="100" data-colorscheme="light" data-layout="button_count" data-action="like" data-show-faces="false" data-send="false"></div>
有趣的是: 页面加载后,当我点击重新加载按钮 (CMD+R) 时,图标完美显示!
不知道如何解决这个问题。 我尝试仅在文档完成加载后才使用 JS 显示内容,但这并没有解决问题。
【问题讨论】:
标签: javascript html twitter facebook-social-plugins