这是我启用了 Google Plus、Twitter 和 Facebook 共享的页面。您可以尝试查看行为:
https://www.famometer.com/usatoday
Twitter 分享按钮的作用就像一个魅力,但让 g+ 和 fb 之类的按钮工作的主要噩梦。
第一个问题: 当点击Like按钮时,它会显示评论对话一秒钟,然后在随后的点击中一直闪烁,不允许分享。我尝试使用 FF 查找任何 javascript 错误等,但没有看到任何错误。
这是代码:
在<h:body>
我有这个 Java 脚本代码之后:
使用的命名空间:xmlns:fb="http://ogp.me/ns/fb#"
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '489611804432300',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
// All your canvas and getLogin stuff here
//
};
(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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
然后在 viewAd.xhtml 中,我有以下代码:
<fb:like id="fbLike" href="https://www.famometer.com/usatoday" send="false" width="100" show_faces="false" layout="button_count" action="like" style="top:-3px"></fb:like>
我已经按照书本做了所有事情,但仍然无法正常工作。如果我没有登录FaceBook,会弹出登录的对话框,但登录后,每次点赞按钮时弹窗一直闪烁。有人可以阐明其实施中有什么问题吗?
第二个问题是 g+ 按钮
它不填充微数据结构提供的 url、标题和描述。
这是代码:
使用的命名空间:xmlns:g="http://base.google.com/ns/1.0"
<div itemscope="itemscope" itemtype="http://schema.org/Product">
<span style="font-weight: bolder; font-size: 20px;" itemprop="name">#{adBB.business.businessName}</span><br/>
<span style="font-weight: bolder; color:gray;" itemprop="description">#{adBB.business.description}</span>
<h:panelGrid>
... some code here...
<g:plusone href="https://www.famometer.com/#{adBB.business.socialMedia.famometer}" size="medium" count="false"></g:plusone>
... some code here
</h:panelGrid>
</div>
这是JavaScript - 页面底部的异步。
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
我已经尝试了一切,但它仍然从元标签而不是微数据标签中读取信息。
非常感谢您在解决这些问题方面的帮助。
谢谢, Sundeep