点击“;份额;facebook页面小部件上的按钮在iOS 9上引发错误

Clicking "share" button on facebook page widget throws error on iOS 9

本文关键字:按钮 iOS 错误 份额 facebook 小部 点击      更新时间:2023-09-26

我正在我的网站上包含官方的Facebook页面插件(而不是我自己的应用程序)。该插件显示为一个小部件,顶部有一个"共享"按钮。在Chrome、Firefox、iOS 8.4 Safari上,点击该按钮可进入共享页面。但在iOS 9.2 Safari(在iPhone 6上)上,点击共享按钮会显示一个错误页面:

应用程序未安装。此应用程序仍处于开发模式,您无权访问它。请切换到注册的测试用户或向应用程序管理员请求权限。

为了消除任何其他代码,我制作了一个只有Facebook代码的平面HTML页面,它仍然可以这样做。

是什么原因造成的?

出于某种原因只有在iOS 9 Safari上(不在iOS 8上,也不在Android或桌面浏览器中),如果没有公共应用程序id,Facebook的页面插件将无法工作。在所有其他浏览器/平台上,您可以直接从他们的社交插件网站(通过"获取代码"按钮)复制代码,它会工作。

但在iOS 9 Safari中,Facebook在iframe中的共享按钮只有在您创建应用程序时才能工作,在应用程序设置下单击"是""您想让这个应用程序及其所有实时功能向公众开放吗?",然后将该应用程序Id传递给JavaScript源调用。

这种可能发生,因为在iOS 9中,它试图在Facebook应用程序而不是浏览器中打开。这会进入"应用程序环境",从而改变Facebook的要求,尽管他们会错误地将你踢回safari。