我搜索了几个小时,发现许多相关的帖子,但没有能够解决我的问题。没有用户登录时FB对话框出现问题
目标是使用FB JS SDK显示一个简单的“Post to your wall”对话框。在默认情况下,使用代码here就像魅力一样。
但是,因为我打电话给我的对话框显示了游戏引擎中的函数(即没有用户单击事件),所以上述wiki中的对话框被弹出窗口拦截器阻止。因此,我测试了使用display:'iframe',而且它工作。但问题在于没有用户登录。在“弹出”模式下,用户在显示实际的“发布到墙上”对话框之前,将显示一个登录对话框。但在'iframe'模式下,这个对话框永远不会出现,而是有一个永远持续的加载屏幕。
摘要:
弹出模式:工作,即使用户没有登录,而是通过弹出窗口阻止程序阻止
的iFrame模式:失败如果没有用户登录,但不被弹出式窗口拦截器阻止
任何帮助将不胜感激!
tnx你的提示Abby。事实上,用户点击了一些东西,但在3D游戏引擎(Unity3d)中。该点击在包含游戏的页面上触发一个JavaScript函数。这就是为什么弹出式窗口拦截器无法识别点击,并且像在页面加载或其他东西(并阻止它)一样。 –
在这种情况下,也许你想做一个服务器端的图形API请求,而不是显示对话框?您可以在游戏中创建自己的弹出窗口,以便为用户提供空间来添加他们的消息,并告诉他们您将发布内容,然后使用图形从服务器发布:https://developers.facebook.com /文档/参考/ API /#出版。这样你就不必处理额外的javascript,浏览器兼容,弹出拦截器等。 – Abby
我想这是可行的,但是使用现有的FB对话框会更方便,因为人们认识它们并知道如何处理它们。我正在考虑做一个解决方法,在游戏界面顶部隐藏/显示一个html按钮,用户可以按这个按钮发布到他的墙上。在这种情况下,我可以使用“弹出”显示模式,这是工作。 –