Как проверить, зарегистрирован ли пользователь? - PullRequest
1 голос
/ 23 октября 2011

Я работаю над расширением 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>

1 Ответ

1 голос
/ 23 октября 2011

Если вы ищете способ сохранения зарегистрированного пользователя между перезапусками браузера, то есть localStorage.

Также нет способа открыть всплывающее окно действий браузера программно, я быдостаточно открыть страницу настроек и предложить пользователю войти в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...