Facebook apprequest对话框无法在移动设备浏览器中打开

时间:2014-01-27 09:49:37

标签: android ios facebook facebook-javascript-sdk

我的移动设备浏览器在我的网站上遇到了这个问题。该问题的场景是,我们正在显示通过我的应用程序登录的用户的朋友。当用户点击那个将为该用户打开facebook apprequest对话框的邀请按钮时,我们在该用户名附近给了一个邀请按钮。因为我通过了用户的Facebook用户ID。以下是我的代码段。

FB.ui(
{ 
method: 'apprequests', message:'test message', to: 100007452844315, data: 'send-to-one-42' }, function(response) { if(!response.error_code && response.error_code!=4201) { $("#invite_"+arrId[1]).html("Invited"); $("#invite_"+arrId[1]).addClass("invited"); return false; }}

这在我的所有桌面浏览器中工作正常,但是当我在我的手机(Android,iphone)中打开此页面时,此功能无法正常工作。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

只有你设置了你的Android应用程序或ios应用程序才会有效....这是因为从移动设备上看不到facebook应用程序。

答案 1 :(得分:0)

我有完全相同的问题,只是我能够在ipad和ipod上“打开”apprequest对话。

没有js调试(我做了很多其他工作,包括删除FB以外的所有外部库)。

在iphone上我有一个空白页...但是我的网站的源代码!有趣的我想:) 对话实际上是“开放的”,但只是不可见(哦,痛苦......)

发生了什么:我们在body标签上设置了overflow: hidden内联。 当您调用apprequest对话框时,它会使用以下内容将类fb_hidden添加到正文中:

-webkit-transform: none;
height: 100%;
margin: 0;
overflow: visible;
position: absolute;
top: -10000px;
left: 0;
width: 100%;

因为overflow:visible现在被内联样式覆盖猜测发生了什么:) - >空白页!

为什么这只是iphone上的一个问题,而不是iPad和iPod对我来说仍然是一个谜......(也许有人可以对此有所了解?)

因此,要么从正文标记中删除overflow: hidden,要么使用fb_hidden覆盖类overflow:visible!importent就行了,我们现在有一个功能性的(啊......可见)apprequest对话。< / p> 希望有所帮助!