我在 Facebook 上的 iframe 应用程序(使用 Unity webgl 制作)在调用 Facebook 登录对话框 ( FB.LogInWithReadPermissions ) 或与 Facebook 的任何其他交互会打开对话框窗口 ( FB.AppRequest等) 后失去焦点。
焦点没有返回到应用程序,所以需要点击 iframe 的任意位置才能看到结果,不是很方便。
任何解决方法?
编辑:
快速而肮脏的解决方案,但它有效:
setInterval (
function () {
if (!document.hasFocus()) {
window.focus();
}
},
1000
);
实际上document.hasFocus()这里不需要检查。
我认为在使用 Facebok Unity SDK 时没有办法知道 Facebook 对话窗口何时关闭,因为回调是在失去焦点的 WebGL 应用程序中执行的,所以在它真正获得焦点之前它不起作用。
也许在 Facebook 上使用 Facebook Javascript SDK for Unity WebGL 游戏会更好?