我正在开发一个 chrome 扩展并尝试实现一种身份验证方法(firebase)。我对什么必须去哪里感到困惑,因为 popup.html 不允许内联脚本,这使得它变得更加困难。
据我所知,有两种选择:
从扩展调用外部页面(由我托管),在新选项卡中打开,在那里处理登录。但在这种情况下,扩展程序如何与登录页面通信呢?饼干?我需要在 popup.js 中进行确认
尝试在 Chrome 扩展弹出窗口中处理电子邮件/密码登录,这看起来更复杂。我总是违反内容安全政策,有点烦人。我已经尝试过了,问题是一旦关闭弹出窗口,它就会失去登录状态。
我已经研究了很多,但到目前为止还没有真正的好例子,其他问题也几乎没有得到解答。谢谢!
您可以尝试在弹出窗口中显示登录名/密码输入框,但在后台页面中运行实际的登录代码。您可以使用以下方法从弹出窗口发送消息到后台页面或直接从弹出窗口发送消息:
弹出.html:
<input type="text" id="email">
<input type="password" id="password">
弹出.js:
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
chrome.runtime.getBackgroundPage(function(bgPage){
bgPage.performFirebaseLoginWithEmailAndPassword(email,password);
});
由于后台页面始终打开,因此当弹出窗口关闭时应保留登录状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)