TypeError:无法在字符串“ about:blank”上创建属性“ href”

时间:2019-02-26 12:57:45

标签: firebase vue.js firebase-authentication electron

在ElectronJS上使用Google测试Firebase身份验证后出现错误。

即使我没有对代码进行任何重大更改以至于影响到Google身份验证部分,身份验证也曾经可以使用。

当我在浏览器中运行项目时,身份验证仍然可以正常工作(npm run serve)。在电子书中,我可以看到

TypeError: Cannot create property 'href' on string 'about:blank' when clicking on the Google authentication button.

TypeError: Cannot create property 'href' on string 'about:blank'

我在点击时执行的代码-

googleLogin() {
  fb.auth
    .signInWithPopup(fb.googleProvider)
    .then(credential => {
      this.$store.commit("setCurrentUser", credential.user)

      fb.usersCollection.doc(credential.user.uid).set({

      }).then(() => {
        this.$store.dispatch("fetchUserProfile")
        this.updateGmailData()
        this.$router.push("/dashboard")
      }).catch(err => {
        console.log(err)
      })
    }).catch(err => {
      console.log(err);
    });
},

再次单击该按钮,我可以看到另一个typeError-

TypeError: Cannot create property 'href' on string ''

为什么身份验证在浏览器上有效,但在Electron中不起作用? 此问题的原因是什么?

1 个答案:

答案 0 :(得分:1)

看到此问题https://github.com/firebase/firebase-js-sdk/issues/1334

Firebase Auth并不正式支持电子。由于Electron是浏览器和Node.js服务器环境的组合,因此某些功能可能无法按预期运行,例如signInWithPopup。

但是@diggabyte(对他很感激)似乎找到了一种解决方法:

  

我能够通过signInWithRedirect + getRedirectResult使它工作   https://github.com/firebase/firebase-js-sdk/issues/1334#issuecomment-434094783