7

Chrome拡張機能で動作するための認証(メール/パスワード)を取得しようとしています。バックグラウンドスクリプトに認証コードを入れてもうまくいくようです。しかし、私はそれがブラウザのアクションスクリプトとして動作するように見えることはできません。Chrome拡張機能のFirebase認証

私は私の拡張のベースとして、次のコードを使用:https://github.com/firebase/firebase-chrome-extension

私はbrowser_action.jsを変更:

Firebase.enableLogging(true); 
var f = new Firebase('https://myapp.firebaseio.com/'); 

f.authWithPassword({  
    email : "[email protected]", 
    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ファイルに移動すると正常に動作し、正常に認証されたというアラートが表示されます。

私は何が間違っているのですか?これはどうしてできないのですか?

答えて

4

この例のChrome拡張機能は3年後に更新されていないため、Firebaseのバージョンは古くなっています。 https://cdn.firebase.com/v0/firebase.jshttps://cdn.firebase.com/js/client/2.2.1/firebase.jsに置き換えてbrowser_action.htmlに置き換えてください。authWithPasswordを正常に使用できるはずです。

+0

私はばかです: ')...私はv0が常にライブラリの最新バージョンを取得することを想定していました。私は間違ったXDだった – DivZero

関連する問題