Я работаю над расширением 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_user
снова будет установлен на пустую строку и будет запущен popup.html
.Как настроить поток программы таким образом, чтобы условие else выполнялось, только если extension_user
- пустая строка?Я включаю 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>