[英]Clicking Facebook Like button reloads the page
我正在尝试将Facebook的“赞”按钮添加到我建立的网站中。 该网站包含有关使用我公司销售的不同产品的“提示和技巧”。 每个这样的“提示”应该都可以“赞”。
问题是,当我单击“赞”按钮时,页面将重新加载。
在Mac上的Firefox 4中,我进入无限重载循环,其中每次重载都会调用Facebook弹出窗口,然后再次关闭,然后再次重载页面,依此类推。
在Mac上的Chrome和Opera中,页面仅重新加载一次。 然后,似乎忘记了我喜欢该页面。
“提示”显示在单独的页面上,因此我在任何一页上都没有多个“赞”按钮。
我使用的是XFBML语法,但我也尝试使用iFrame版本,但结果相同。
<fb:like href="http://www.vissteduatt.com/tips?hint_id=120" layout="button_count" show_faces="false" width="50" font="verdana"></fb:like>
您可以在http://www.vissteduatt.com/tips?hint_id=120上看到该页面-尽管“赞”按钮无法正常运行并且该站点处于活动状态,但并未显示该按钮。
我在fb:like标签上指定href属性的原因是URL中还有其他属性,这些属性可能会更改。 因此,我将URL“规范化”为仅包括必要的内容。
在为该问题的解决方案进行了大量搜索之后,我发现提到了href可以用于将单击“喜欢”按钮的用户重定向到另一个页面,例如应用程序的Facebook Wall。 我以为这可能是重新加载的原因,但是删除href属性时并没有任何改变。
我正在使用javascript的异步初始化代码:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '146368105420237', status: true, cookie: true, xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/sv_SE/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
任何帮助将不胜感激!
更新:
自Firefox 3.6(!)起,这似乎是一个已知问题。
除了用户允许来自Facebook的第三方cookie之外,似乎没有其他解决方法。 我已经尝试过了,它确实停止了无限循环。 一次重新加载仍然存在一些问题,这些问题在Firefox,Chrome和Opera中都同样发生。
我无法在IE中进行测试,因为在工作的IE8根本不会加载“赞”按钮。
请参阅下面的链接以获取有关该主题的讨论:
http://www.facebook.com/topic.php?uid=14696440021&topic=16716
更新:
我发现IE中未显示“喜欢”按钮的解决方案:
Facebook类似按钮在Firefox中显示但在IE中不显示
现在,该按钮在IE中的行为与在其他浏览器中相同。 “喜欢”页面后,仍然可以重新加载/重置按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.