我在PHP脚本中使用FB请求对话框。它在除Safari之外的所有浏览器中都有效。实际上弹出窗口拦截器选项存在问题。大多数现代浏览器都阻止弹出窗口,默认情况下也会在safari中启用此选项。对我来说,绕过弹出窗口阻止程序并创建功能性FB请求对话框几乎没有什么挑战性。但是,在使用我的应用程序之前,我应该请求网站用户在浏览器中取消选中弹出窗口阻止程序选项也没有意义。代码如下:
FB.ui({
method: "apprequests",
to:''+str+'',
message: "xxxxxxxxxx",
name: "xxxxxxx",
description: "",
data: JSON.stringify({code:key,usr:uid,vi:'vi',invt:'invt'}),
picture: "<?php echo $fb_image;?>",
link: link_url,
display: 'popup'
}, function(response) {
//------------------------------
}
FB init:
<script type="text/javascript">
FB.init({
appId : 'oauth_fb_key',
status : true,
cookie : true,
oauth : true,
xfbml : true
});
</script>
是否通过上面的JS函数控制请求对话框。
答案 0 :(得分:1)
尝试为display
设置FB.ui
参数,例如described in doc。尝试使用iframe
或page
选项之一。
答案 1 :(得分:1)
将frictionlessRequests : true
放入您的FB.init&amp; Fb.ui方法的'to'应该像
to:'comma separated facebook user id'