【问题标题】:Facebook apprequest dialog not open in mobile device browserFacebook apprequest 对话框未在移动设备浏览器中打开
【发布时间】:2014-01-27 09:49:36
【问题描述】:

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

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)中打开此页面时,此功能无法正常工作。我该如何解决这个问题?

【问题讨论】:

    标签: android ios facebook facebook-javascript-sdk


    【解决方案1】:

    我遇到了完全相同的问题,只是我能够在 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,要么用 overflow:visible!importent 覆盖类 fb_hidden 就可以了,我们现在有了一个功能性(啊...可见)apprequest 对话。

    希望有所帮助!

    【讨论】:

    • 感谢您的解决方案,这个问题的原因是我在我的 css 中覆盖了 #fb_root 的 css 并给出了 z-index:0。这就是为什么我的弹出窗口无法在移动设备上运行。我删除了css的这个属性,我解决了我的问题。谢谢达瓦尔
    【解决方案2】:

    只有在您设置了您的 android 应用程序或 ios 应用程序时它才会起作用....,这是因为 facebook 应用程序在移动设备上是不可见的。

    【讨论】:

    • 我没有开发 android 和 ios 的应用程序我正在开发一个网站,这就是我使用 javascript sdk 的原因
    • 那么使用移动设备的用户永远不会看到您的应用请求!!!
    • 我认为你没有理解我的问题:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多