10

当我的 Web 应用程序在 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({}) 方法时,我已经收到此错误消息,因此,我创建了 if 语句来处理 iPad 上的这种情况。但这种解决方法不适用于 iPhone。

有人可以帮助我吗?

4

3 回答 3

6

此对话框可与 JavaScript SDK 一起使用,并通过执行完全重定向到 URL 来使用。它在移动设备上不受支持。 https://developers.facebook.com/docs/reference/dialogs/send/

于 2013-11-05T07:39:26.463 回答
1

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

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

不幸的是,您无法更改此按钮的界面。

于 2017-03-27T15:30:03.923 回答
0

Facebook 明确提到“移动设备不支持它”。这是他们文章的链接:在此处输入链接描述

你需要另一种方法来修复它。Facebook API 现在甚至不再支持发送按钮。

于 2019-10-03T10:21:26.077 回答