当有人安装扩展程序时,如何将用户电子邮件另存为变量?

时间:2011-10-21 22:08:04

标签: javascript google-chrome-extension

在我的书签扩展程序中,我需要将用户的Gmail地址发送到谷歌应用引擎,以便将用户作为“所有者”写入数据库。

我的理解是我不能使用弹出窗口,因为我有一个背景页面(我记得读过这个但我再也找不到了)。我还在阅读Chrome商店中的安装过程。如果有人能指引我到文档中的正确位置,我将不胜感激。

我复制下面的background.html,其中包含变量extension_user。如何在用户上传扩展程序时获取此变量? 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>

1 个答案:

答案 0 :(得分:2)

您可以在单个扩展程序中同时使用popupbackground page。我的很多扩展程序同时使用这两个扩展程序...使用background page来传达和保存popup页面的数据......

您可以提示您的用户在您的后台页面中保存他们的电子邮件地址,如下所示:

<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 pagepopup页面中使用...