我有这个简单的 Facebook 应用程序。它使用 jQuery,并根据 Facebook 自己的规范和示例代码制作。该应用程序仅适用于喜欢该页面的访问者。
我已经成功地用 PHP 构建它,但由于其他原因,我需要用 Javascript 来构建它。但是,“has-user-liked-page”功能没有触发,我尝试了十几种这样的解决方案:点击 facebook like 按钮后没有触发事件?
现在,Facebook 文档建议这样做:https ://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe
我的代码中可能最相关的部分如下所示:
....
<body>
<div id="fb-root"><iframe id="contentIframe" scrolling="no"></iframe></div>
<script language="javascript">
$(document).ready(function() {
$.ajaxSetup({ cache: true });
$.getScript('//connect.facebook.net/en_UK/all.js', function(){
FB.init({
appId: '247171102105...',
channelUrl: 'https://facebook.****.com/customer1/test/channel.html',
});
FB.Event.subscribe('edge.create', function(href, widget) {
alert('You liked the URL: ' + href);
});
FB.getLoginStatus(updateStatusCallback);
});
});
function updateStatusCallback() {
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(response) {
document.getElementById("contentIframe").src = "kalender.php?userID="+response.id+"&userName="+response.name+"&email="+response.email;
//alert(JSON.stringify(response, null, 4));
});
} else {
document.getElementById("contentIframe").src = "fallback.php";
}
}, {scope:'email,publish_stream,user_photos'});
FB.Canvas.setAutoGrow();
}
</script>
....
你有一个线索,为什么警报命令永远不会被触发?