FB.ui发送对话框无法在iPhone上运行

时间:2013-09-02 12:29:20

标签: javascript iphone ios facebook fb.ui

当我的网络应用在iPhone上运行时,我在创建FB.ui发送对话框时遇到了麻烦。这是javascript中的代码段:

    if(navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPhone/i)){
        window.top.location = "http://m.facebook.com/dialog/send?app_id=<<My_App_Id>>&link=<<The_Link>>&redirect_uri=<<The_Url>>&to=<<User_Id>>";
    } else{
        FB.ui({method: 'send',
            link: "<<The_Link>>",
            picture: picture,
            description: description,
            to: User_Id
        });
    }

当我在Windows上使用任何浏览器时效果很好,在iPad上使用Safari也很好用。 但是,当我尝试打开一个对话框在iPhone上发送消息时,我看到以下错误消息:

此对话框在此设备上不可用。 API错误代码:4202 API错误说明:此对话框无法在此设备上显示 错误消息:此显示类型

不支持此方法

当我在iPad上调用FB.ui({})方法时,我已经收到了此错误消息,因此,我在iPad上创建了if语句来处理这种情况。但是这种解决方法对iPhone不起作用。

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:6)

此对话框可与JavaScript SDK一起使用,也可以执行完全重定向到URL。移动设备不支持此功能。 https://developers.facebook.com/docs/reference/dialogs/send/

答案 1 :(得分:1)

(只是重新发布这个作为答案)

在某些情况下,您可能希望将此https://developers.facebook.com/docs/plugins/send-button用作临时解决方案。

很遗憾,您无法更改此按钮的界面。

答案 2 :(得分:0)

Facebook明确提到“移动设备不支持它”。这是他们文章的链接:enter link description here

您需要另一种解决方法。 现在,Facebook API中甚至不再支持发送按钮。