You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apps Script侧边栏集成Firebase Auth后认证跳转空白页问题咨询

Firebase Auth集成Apps Script侧边栏后认证跳转空白页问题排查

嘿,我来帮你搞定这个跳转空白页的问题!你遇到的情况其实是表单默认提交行为在搞鬼,咱们一步步拆解:

首先看你代码里的核心问题:你用了<form action="">标签,浏览器对于表单内的按钮,默认会触发表单提交动作——哪怕你给按钮绑定了自定义的login()函数,浏览器还是会优先执行这个默认行为。因为你的action属性是空的,所以就会跳转到当前页面的空白版本,也就是你看到的现象。

两种快速修复方案

方案一:阻止按钮的默认提交行为

你可以直接修改按钮的点击事件,明确告诉浏览器不要执行默认的表单提交:

<button onclick="login(); return false;">Login</button>

或者更规范一点,在login函数里通过事件对象阻止默认行为:

function login(e) {
  e.preventDefault(); // 关键:阻止表单默认提交逻辑
  var email = document.getElementById("email").value;
  var password = document.getElementById("psw").value;
  if (email.length < 3 || password.length < 8) {
    return;
  }
  firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
    var errorCode = error.code;
    var errorMessage = error.message;
    // 这里可以加个用户提示,比如alert(errorMessage)让用户知道错误原因
  });
}

对应的按钮要改成:

<button onclick="login(event)">Login</button>

方案二:移除不必要的form标签

其实你的场景里根本不需要用form标签,因为你是通过自定义JS函数处理认证,不是要提交表单到某个后端接口。直接把<form action="">和对应的</form>删掉,用普通的<div>来包裹输入框和按钮就行,这样就不会触发任何默认提交行为了。

额外小建议

你用的Firebase JS SDK版本是5.9.2,这个版本已经比较老旧了,建议换成最新的稳定版(如果想保持类似写法可以用兼容模式),这样能避免一些旧版本的潜在bug。

内容的提问来源于stack exchange,提问作者EdgeDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:48:17