我在公司页面中创建了一个应用程序,以添加更多带有“喜欢门”的标签/页面,以确保用户在继续前进之前喜欢我们的页面。如果用户喜欢我们的页面“index2.php”,那么类似的门位于一个位置说“index.php”,他们不喜欢我们“index1.php”是包含的。这一切都正常。
我的问题是我想在“index1.php”(如果他们不喜欢我们)页面中包含一个“喜欢”按钮。我添加了一个允许用户喜欢我们的按钮,但是在点击这个按钮后需要刷新,这样就可以再次在喜欢门处评估用户并相应地重定向。
下面的代码允许用户喜欢但不会像我希望的那样重定向。我查看了fb开发者页面上的示例,但我是fb app dev的新手,无法弄清楚我的错误。任何帮助将不胜感激,希望这是足够的信息,但如果您需要更多,请回复。感谢您的任何帮助,您可以提供。
<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";
fjs.parentNode.insertBefore(js, fjs);
FB.Event.subscribe('edge.create',
function() {
top.window.location = 'http://www.facebook.com/pages/TAG_Communications/122751567742494?sk=app_243094502403141';
}
);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.facebook.com/pages/TAG_Communications/122751567742494" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div>
答案 0 :(得分:8)
我遇到http://www.techjam.gr/2011/web-design/execute-javascript-facebook-button-clicked/,它解释了在非常清楚地点击按钮后如何运行回调脚本。我发现你已经在大部分时间这样做,但也许有一些部分被解释为你遗漏或没有指明。
此外,我在尝试重定向父帧时遇到了很多麻烦,因为它触发了跨域javascript访问安全性错误。不确定这是否是你问题的一部分。对于我自己的情况,我打算在点击时将我的iframe页面从no-fan.php重定向到fan.php - 我不需要重新评估他们是否是粉丝,如果他们是我的fangate代码点击了按钮。
希望能帮到你。
更新:
通过以上链接获得帮助! 这是我做的(下面的代码): 一定要使用普通的FB.init代码。 使用按钮上方的重定向代码添加回调脚本。 添加like按钮的xfbml版本。 就是这样!
请注意,我确实使用了top.window.location并将其发送到我的fangate评估代码。原因是,如果你只是重定向框架,它会保留页面的其余部分,并且它仍然在标题附近有像facebook一样的按钮。刷新整个页面可以看到应有的方式,避免混淆。
代码:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId :'your id here',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : 'full path to file', // channel.html file
oauth : true // enable OAuth 2.0
});
</script>
<script>
FB.Event.subscribe('edge.create', function(href, widget) {
top.window.location = 'your tab url';
});
</script>
<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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like"><fb:like href="your page you want to like" send="false" layout="button_count" width="200" show_faces="false"></fb:like></div>