Facebook认证对话框:有关使用“display”类型“popup”的开发者警告

26

从今天开始,我们在身份验证对话框中收到开发人员警告,警告信息如下:

您正在使用“弹出”显示类型在较大的浏览器窗口或选项卡中。为了更好的用户体验,请使用我们的JavaScript SDK显示此对话框,而不指定显式的显示类型。SDK将为每个环境选择最佳的显示类型。或者,如果您有特殊要求无法使用SDK,请在window.open()调用中设置高度和宽度以正确调整此对话框的大小。此消息仅对您应用程序的开发人员可见。

在弹出窗口中直接显示上述警告

我们有以下情况:

  • 使用JavaScript打开新的弹出窗口
  • 弹出窗口的src是使用Facebook的PHP-SDK方法getLoginUrl设置的
  • 弹出窗口本身的大小为400px x 580px

PHP-SDK本身在其代码中引用了“display = popup”的正确使用:

如果您使用生成的URL和JavaScript中的window.open()调用一起使用,则可以将display = popup作为$params的一部分传递。

JS-SDK文档表示,打开的弹出窗口的最大大小应为400x580:

用于浏览器弹出窗口,大小不超过400px x 580px。使用此显示类型可以在不需要执行全页重定向的情况下维护用户的上下文。

因此,总结一下:根据文档,上述实现应该是可以的。是否还有其他人有这个警告或解决方案?


1
“弹出窗口本身的大小为400像素乘以580像素” - 您的屏幕截图表明实际大小为446x630像素... - CBroe
我会尝试399x579。请注意,这只是对开发人员的建议,用户不会看到警告。此外,不要完全依赖文档,因为它可能是错误的 :-/ - Marcelo Pascual
这里还有另一个需要注意的地方。引用Jeff的话:只有当您使用注册此Facebook应用程序的人的Facebook凭据登录时,才会看到此警报。 - cregox
2个回答

8
JS-SDK文档指出,浏览器弹出窗口的大小应该“不超过400像素乘以580像素”。但他们没有明确说明它们是指高度为400像素,宽度为580像素。我在我的弹出式身份验证对话框中看到了开发者警告,其大小为275像素高和875像素宽。而在大小为400像素高和580像素宽的弹出窗口中,我没有看到警告。您的图像显示您的弹出窗口为630像素高和446像素宽。无论如何,这都比规范要求的尺寸大。

谢谢你的回答。我将弹出窗口大小更改为580x400,警告消失了。(实际上,上传的图片是630x446,但只是由于Facebook自己进行了调整大小。在我的代码中,尺寸为400x580)。 - Johannes N.
是的。你是如何改变弹出窗口的大小的? - Chris
@Chris,你可以按照最初设置的方式更改弹出窗口的大小。OP问题中的文档也有解释:“使用[Facebook的] JavaScript SDK显示此对话框而不指定显式显示类型”或“在window.open()调用中设置高度和宽度以正确调整此对话框的大小”。 - Old Pro

2

当链接更改时,will*将变为无效 :) - Charlie Martin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接