2011-10-21 6 views
0

私のブックマークの拡張機能では、ブックマークを "所有者"としてユーザーにデータベースに書き込むために、ユーザーのGmailアドレスをGoogleのアプリケーションエンジンに送信する必要があります。誰かがエクステンションをインストールしたときに、変数としてユーザーメールを保存するにはどうすればよいですか?

私はバックグラウンドページを持っているのでポップアップを使用できないことを理解しています(私はこれについて読むことを覚えていますが、もう一度それを見つけることはできませんでした)。私はChromeストアのインストールプロセスも読んでいます。誰かが私をドキュメントの正しい場所に誘導できるのであれば、私は感謝します。

下記の変数extension_userを含むbackground.htmlをコピーします。拡張機能をアップロードするときにこの変数をユーザーから取得するにはどうすればよいですか? This is my previous question

<html> 
<script> 
chrome.browserAction.onClicked.addListener(function(tab) { 
chrome.tabs.getSelected(null, function(tab) { 

    // Send a request to the content script. 
    chrome.tabs.sendRequest(tab.id, {action: "getDOM"}, function(response) { 
    var firstParagraph = response.dom; 

var formData = new FormData(); 
formData.append("url", tab.url); 
formData.append("title", tab.title); 
formData.append("pitch", firstParagraph); 
//***the variable with user email to send to backend:***// 
//formData.append("extension_user", extension_user) 

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "http://ting-1.appspot.com/submithandlertest", true); 
xhr.onreadystatechange = function (aEvt) { 
    if (xhr.readyState == 4) { 
     if (xhr.status == 200){ 
      console.log("request 200-OK"); 
      chrome.browserAction.setBadgeText ({ text: "done" }); 
      setTimeout(function() { 
      chrome.browserAction.setBadgeText({ text: "" }); 
      }, 2000); 
     }else{ 
      console.log("connection error"); 
      chrome.browserAction.setBadgeText ({ text: "ERR" }); 
    }   
    }   
}; 
xhr.send(formData); 
}); //chrome.tabs.sendRequest 
     }); 
    }); 
</script> 
</html> 

答えて

2

あなたは、単一の拡張でpopupbackground pageの両方を使用することができます。私の拡張機能の多くは両方使用して...あなたのpopupページのデータを通信して保存するbackground pageを使用して...

あなたは次のようにあなたの背景ページで、インストールに自分のメールアドレスを保存するようにユーザーを促すことができる。

<script type="text/javascript"> 
    addEventListener('load', function(){  
    var MAJOR_VERSION=1.0; 
    if(!localStorage.updateread||localStorage.updateread!=MAJOR_VERSION) 
     { 
     var email=prompt("Enter the Email Address : ") 
     localStorage["Email"] = Email; 
     localStorage.updateread=MAJOR_VERSION 
     } 
    }, 0); 
</script> 

このスクリプトは、最初に拡張機能をインストールしたときにのみ実行されます。ユーザーのメールアドレスは、アンインストールするまで拡張子LocalStorageに保存されます...この変数を呼び出すと、background pageページとpopupページの両方で機能します...

関連する問題