当为广告创建评论时,我正在尝试创建一个小型通知程序。它在桌面版本上完美运行,但在移动版本上FB.Event.subscribe
没有被解雇。
我有这个代码:
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'XXXX'
channelUrl : 'http://www.xxx.dk/channel.php',
status : true,
xfbml : true
});
FB.Event.subscribe('comment.create',
function (response) {
$.ajax({
url: 'http://www.xxx.dk/notify.php',
type: 'POST',
data: { aid: {$viewad.aid} },
success: function(data) { },
error: function(data) { }
});
});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
fbAsyncInit 和 FB.init 都被正确触发了!如果我输入 alert("fired") 我会得到那个警报,但不是在 FB.Event.subscribe
channel.php 包含以下内容:
<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: max-age=".$cache_expire);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
?>
<script src="//connect.facebook.net/en_US/all.js"></script>