Javascript 如何测试用户是否已注册?

Javascript 如何测试用户是否已注册?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在开发一个Chrome扩展,在background.html中,我想测试用户是否已注册,如果未注册,则触发popup.html并获取用户电子邮件。这就是我想做的: var extension_user = ""; if (extension_user) { //run normal program: //... formData.append("extension_user", extension_user); //... } else { //tr

我正在开发一个Chrome扩展,在
background.html
中,我想测试用户是否已注册,如果未注册,则触发
popup.html
并获取用户电子邮件。这就是我想做的:

var extension_user = "";

if (extension_user)
{
    //run normal program:
    //...
    formData.append("extension_user", extension_user);
    //...
}
else
{
    //trigger popup.html
    //get user_email from form in popup.html
    //change extension_user to user_email  
}
我遇到的问题是,下一次运行此程序时,
extension\u user
再次设置为空字符串,并且将触发
popup.html
。如何设置程序流,以便仅当
extension\u user
为空字符串时运行else子句?下面是
background.html
。谢谢

background.html

<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);
            formData.append("extension_user", "azeynel1@gmail.com");

            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>

chrome.browserAction.onClicked.addListener(函数(选项卡)
{
chrome.tabs.getSelected(空,函数(选项卡)
{
//向内容脚本发送请求。
sendRequest(tab.id,{action:“getDOM”},函数(响应)
{
var firstparation=response.dom;
var formData=new formData();
formData.append(“url”,tab.url);
formData.append(“标题”,选项卡标题);
formData.追加(“音高”,第一段);
追加(“扩展用户”azeynel1@gmail.com");
var xhr=new XMLHttpRequest();
xhr.open(“POST”http://ting-1.appspot.com/submithandlertest“,对);
xhr.onreadystatechange=函数(aEvt)
{
if(xhr.readyState==4)
{
如果(xhr.status==200)
{ 
控制台日志(“请求200-OK”);
chrome.browserAction.setBadgeText({text:“done”});
setTimeout(函数()
{
chrome.browserAction.setBadgeText({text:});
}, 2000);
}
其他的
{
日志(“连接错误”);
chrome.browserAction.setBadgeText({text:“ERR”});
}
}
};
xhr.send(formData);
});//chrome.tabs.sendRequest
});
});

如果您正在寻找一种在浏览器重新启动之间存储注册用户的方法,那么就有了


另外,也没有办法以编程方式打开浏览器操作弹出窗口,我宁愿打开选项页并提示用户登录。

如果您正在寻找一种在浏览器重新启动之间存储注册用户的方法,那么就有了


此外,也没有办法以编程方式打开浏览器操作弹出窗口,我宁愿打开选项页并提示用户登录。

谢谢。我正在阅读localStorage和Options页面。但是正如在这个回答中提到的,我需要验证用户提交给分机的电子邮件是他自己的电子邮件。因此,我考虑让用户先登录应用程序。这是我关于同一问题的另一个问题:好的,我正试图通过选项页面来实现这一点。如何提示用户登录?我想,如果我使用表单来获取他的电子邮件,那么我需要将其发送到应用程序并返回。我错过了什么?再次感谢。好的,但是当你写“打开选项页面并提示用户登录”时,是关于扩展的。我创建了“选项”页面,如文档中所述。如何提示用户登录“选项”页面?@Zeynel“选项”页面是一个常规的html页面,您可以在其中执行任何操作。你们可以在那个里创建表单,你们可以从中发送ajax请求,任何事情。无论谷歌应用程序登录需要什么,你都可以在那里提示(我不知道那是什么)。对不起,我错了,在这种情况下,我正在尝试处理这个问题,而不去应用程序引擎。例如,我是否可以在“选项”页面中提示输入用户电子邮件并将其写入本地存储,以便后台页面可以使用该电子邮件?谢谢。我正在阅读localStorage和Options页面。但是正如在这个回答中提到的,我需要验证用户提交给分机的电子邮件是他自己的电子邮件。因此,我考虑让用户先登录应用程序。这是我关于同一问题的另一个问题:好的,我正试图通过选项页面来实现这一点。如何提示用户登录?我想,如果我使用表单来获取他的电子邮件,那么我需要将其发送到应用程序并返回。我错过了什么?再次感谢。好的,但是当你写“打开选项页面并提示用户登录”时,是关于扩展的。我创建了“选项”页面,如文档中所述。如何提示用户登录“选项”页面?@Zeynel“选项”页面是一个常规的html页面,您可以在其中执行任何操作。你们可以在那个里创建表单,你们可以从中发送ajax请求,任何事情。无论谷歌应用程序登录需要什么,你都可以在那里提示(我不知道那是什么)。对不起,我错了,在这种情况下,我正在尝试处理这个问题,而不去应用程序引擎。例如,我是否可以在“选项”页面中提示输入用户电子邮件并将其写入本地存储,以便后台页面使用该电子邮件?