Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击类似Facebook的按钮重新加载页面_Javascript_Facebook_Facebook Like - Fatal编程技术网

Javascript 单击类似Facebook的按钮重新加载页面

Javascript 单击类似Facebook的按钮重新加载页面,javascript,facebook,facebook-like,Javascript,Facebook,Facebook Like,我正在尝试将类似Facebook的按钮添加到我创建的网站中。该网站包含使用我公司销售的不同产品的“提示和提示”。每一个这样的“暗示”都应该是“喜欢”的 问题是,当我单击Like按钮时,页面会重新加载 在Mac上的Firefox4中,我进入了一个无限的重新加载循环,每次重新加载都会调用一个Facebook弹出窗口,该窗口再次关闭,然后页面再次重新加载,等等 在Mac上的Chrome和Opera中,页面只重新加载一次。然后它似乎忘记了我喜欢这一页 “提示”显示在单独的页面上,因此我在任何一个页面上都

我正在尝试将类似Facebook的按钮添加到我创建的网站中。该网站包含使用我公司销售的不同产品的“提示和提示”。每一个这样的“暗示”都应该是“喜欢”的

问题是,当我单击Like按钮时,页面会重新加载

在Mac上的Firefox4中,我进入了一个无限的重新加载循环,每次重新加载都会调用一个Facebook弹出窗口,该窗口再次关闭,然后页面再次重新加载,等等

在Mac上的Chrome和Opera中,页面只重新加载一次。然后它似乎忘记了我喜欢这一页

“提示”显示在单独的页面上,因此我在任何一个页面上都没有多个Like按钮

我使用的是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>

您可以在处看到该页面,但不会显示Like按钮,因为它无法正常工作,并且站点处于活动状态

我在fb:like标记上指定href属性的原因是URL中还有其他属性,这些属性可能会更改。因此,我“正常化”的网址,只包括什么是必要的

在谷歌搜索了很多关于这个问题的解决方案后,我发现有人提到可以使用href将用户点击Like按钮重定向到另一个页面,比如应用程序的Facebook墙。我认为这可能是重新加载的原因,但当我删除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>

window.fbAsyninit=函数(){
init({appId:'14636810542037',状态:true,cookie:true,xfbml:true});
};
(功能(){
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);
}());
任何帮助都将不胜感激

更新:
自从Firefox 3.6(!)以来,这似乎是一个众所周知的问题

除了允许用户从Facebook获取第三方cookie之外,似乎没有其他解决办法。我试过了,它确实停止了无限循环。然而,单次重新加载仍然存在一些问题,这些问题在Firefox、Chrome和Opera中都会出现

我无法在IE中进行测试,因为我的IE8在工作时根本无法加载Like按钮

有关此主题的讨论,请参见下面的链接:

更新:
我发现IE中没有出现Like按钮的解决方案:


现在,该按钮在IE中的行为与在其他浏览器中的行为相同。在“喜欢”一个页面后,仍然可以重新加载/重置按钮。

这是facebook的标准行为。它期望你浪费一整天的时间点击同一个按钮来提高效率。