【发布时间】:2016-05-03 02:09:01
【问题描述】:
我正在尝试获取身份验证(电子邮件/密码)以在 Chrome 扩展程序中工作。如果我将身份验证代码放在后台脚本中,我似乎工作得很好。但是我似乎无法让它作为浏览器操作脚本工作。
我使用以下代码作为扩展的基础:https://github.com/firebase/firebase-chrome-extension
我将 browser_action.js 更改为:
Firebase.enableLogging(true);
var f = new Firebase('https://myapp.firebaseio.com/');
f.authWithPassword({
email : "a@b.cd",
password : "1234"
}, function(error, authData) {
if (error) {
alert("Login Failed!", error);
} else {
alert("Authenticated successfully with payload:", authData);
}
});
并且我保持现有的 browser_action.html 不变:
<!doctype html>
<style type="text/css">
#mainPopup {
padding: 10px;
height: 200px;
width: 400px;
font-family: Helvetica, Ubuntu, Arial, sans-serif;
}
h1 {
font-size: 2em;
}
</style>
<div id="mainPopup">
<h1>Firebase test!</h1>
<p>Clicks: <span id="contents"></span></p>
</div>
<script type="text/javascript" src="https://cdn.firebase.com/v0/firebase.js"></script>
<script src="browser_action.js"></script>
当我加载扩展并单击图标时,它会在控制台中显示以下错误:
Uncaught TypeError: f.authWithPassword is not a function
如果我将 firebase 代码和身份验证代码移动到 background.js 文件中,它会起作用并提醒我它已成功通过身份验证。
我做错了什么或者为什么这不可能?
【问题讨论】:
标签: javascript google-chrome-extension firebase firebase-authentication