Javascript 如何测试用户是否已注册?
我正在开发一个Chrome扩展,在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
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请求,任何事情。无论谷歌应用程序登录需要什么,你都可以在那里提示(我不知道那是什么)。对不起,我错了,在这种情况下,我正在尝试处理这个问题,而不去应用程序引擎。例如,我是否可以在“选项”页面中提示输入用户电子邮件并将其写入本地存储,以便后台页面使用该电子邮件?