我正在使用Facebook FB.ui“分享”按钮开发Rails应用程序。回调函数使用AJAX将成功共享记录到服务器端计数器。在任何Web浏览器上,共享都显示在Facebook上,回调函数会随响应一起触发,一切正常。但在移动设备上(在iOS上使用Chrome和Safari进行测试),该分享按预期显示在Facebook上,但回调功能未收到回复。
我搜索过Facebook文档,但我找不到任何迹象表明FB.ui回调在移动设备上应该有所不同。
我在俯瞰什么?
(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);
}());
$(document).ready(function(){
$('.facebook_share_button').click(function(){
FB.ui({
method: 'feed',
name: 'Name',
description: 'Description.',
link: 'https://xxxxxxxx.herokuapp.com/',
}, function(response){
if (response && !response.error_message) {
$.ajax({
url : "/log_shares",
method : "PATCH",
data : { shared: 'success' }
});
alert("SUCCESS");
} else {
alert("ERROR");
}
});
});
});
更新:因此,奇怪的是,在没有触及代码的情况下,我在回调接收响应时间歇性地获得了成功。在过去几个小时的一些测试中,我没有得到任何响应,在其他测试中我得到了响应但没有数据,而在其他测试中我实际得到了数据,一切都按预期工作。但几分钟之后点击相同的分享按钮不再起作用。
从任何桌面浏览器共享都可以继续工作而不会出现任何问题。
发生了什么事?这是Facebook的结尾吗?任何人都有像Facebook这样在手机上表现不稳定的经历吗?