我在facebook中使用FB.ui方法显示流发布框如下:
function showfeed()
{
var publish = {
method: 'stream.publish',
attachment: {
name: 'XYZ',
caption: 'caption here',
description: ('description'),
href: 'url',
media: [{
type: 'image',
href: 'url',
src: 'xyz.gif'
}]
},
action_links: [{ text: 'XYZ', href: 'url' }]
};
FB.ui(publish,null);
}
这样工作正常,但我的页面高度非常长,所以当我点击按钮显示此对话框时,它显示在页面的中心而不是顶部,所以即使对话框显示在中心,它也不会显示给我,因为我在顶部。是否有任何人可以看到它在顶部的位置对话框。
答案 0 :(得分:8)
将以下代码添加到<style>
。 [从其他论坛获得)希望有所帮助
div.fb_dialog_advanced+div.fb_dialog_advanced {
top:50px !important;
}
答案 1 :(得分:4)
div.fb_dialog_advanced+div.fb_dialog_advanced { top:50px !important; }
不再有效。见:
1:
但是我已经解决了jQuery的问题。它有点像hacky,但它确实有效:
function move_to_top( value )
{
$(".fb_dialog").each(function(index) {
if($(this).css("top")!='-10000px') {
$(this).css("top", value + 'px' );
}
});
setTimeout( ('move_to_top("'+value+'");'), 1250);
}
function send_request()
{
FB.Canvas.scrollTo(0,0);
FB.ui({method: 'apprequests', message: 'Press accept to see this request.', data: 'tracking information for the user'},
function(response) {
if(response!=null)
{
alert('You are boss')
}
});
$(".fbProfileBrowserResult").ready( function(){
t = setTimeout ( ('move_to_top("'+50+'")'), 1250 );
});
}