我之前问过一个问题,关于是否可以在 Windows 8/WinJS 应用程序中使用 Firebase。@MichaelLehenbauer 告诉我,我只需要在我的代码中添加以下行来修复 firebase.js 中的错误:
Firebase.INTERNAL.forceWebSockets()
这很好用,让我可以读写我的 Firebase。但是,现在我正试图让身份验证在 Windows 8 中工作并遇到许多问题。我正在尝试使用 Facebook 登录,但是当我打电话时auth.login("facebook")
,我的应用程序失去焦点,并且现代 Internet Explorer 应用程序(不是桌面应用程序)中的一个新选项卡使用典型的 Facebook 登录提示打开。如果我输入我的凭据并点击登录,什么都不会发生。我需要回到我的应用程序,但随后它会启动一个新的 IE 选项卡并重新开始该过程。Firebase 应该在内部打开一个应用内对话框,而不是打开一个新的 IE 选项卡,就像在此处的顶部图片中看到的那样。
因此,由于我无法在 WinJS 中使用 Firebase Facebook 登录,我尝试自己进行 Facebook 登录,然后使用电子邮件/密码身份验证创建 Firebase 用户。但是,当我运行时:
auth.login("password", {
email: "me@example.com",
password: "password"
});
我收到以下警告(这与我在 Michael 建议我强制使用 Web 套接字之前从 firebase.js 收到的警告相同):
APPHOST9601: Can’t load <https://auth.firebase.com/auth/firebase?&firebase=[my_firebase]&transport=jsonp&email=me%40example.com&password=password&callback=FirebaseSimpleLogin._callbacks._firebaseXDR13889674277557>. An app can’t load remote web content in the local context.
我不确定这是否是另一个网络套接字问题,但看起来 FirebaseSimpleLogin 在 Windows 8 应用程序中运行不佳。这些问题是否有任何解决方法?更好的是,是否有计划为 Windows 8 提供开箱即用的全面支持?