我怎样才能创建撑中心通过我的Facebook应用程序的画布用户滚动页面的对话?
我读过这个关于这个问题的帖子,但所描述的方法(听无证Facebook的事件),我没有工作。
我怎样才能创建撑中心通过我的Facebook应用程序的画布用户滚动页面的对话?
我读过这个关于这个问题的帖子,但所描述的方法(听无证Facebook的事件),我没有工作。
它看起来像Facebook不再轮询服务器更新pageInfo作为其库的一部分。 然而,这是相当简单的写一些东西,你自己调查它,适当地移动对话框:
var timeout;
var positionDialog = function(){
FB.Canvas.getPageInfo(function(pageInfo){
$("#dialog").animate({top: Math.max(parseInt(pageInfo.scrollTop) - parseInt(pageInfo.offsetTop) +
((parseInt(pageInfo.clientHeight)-$("#dialog").outerHeight())/2), 0)}, 100);
timeout = setTimeout(positionDialog, 250);
});
};
var showDialog = function(){
// show your dialog
$("#dialog").show();
positionDialog();
};
var hideDialog = function(){
$("#dialog").hide();
clearTimeout(timeout);
};
注:我使用的setTimeout,而不是setInterval的,因为你不知道的Ajax调用需要多长时间,不希望被处理乱序响应。