JavaScript + Chrome Tabs Api - не удается получить URL вкладки - PullRequest
2 голосов
/ 05 октября 2011

У меня есть следующий фрагмент кода, и проблема в том, что обратный вызов из chrome.tabs.getSelected оценивается после запроса, который отправляется с пустым URL. Как я могу решить это?

function send() {
var url = '';
chrome.tabs.getSelected(null, function(tab) {
    url = tab.url;
});

var client = new XMLHttpRequest();
client.onreadystatechange = function() {
    if(this.readyState == 4) {
        alert(this.status);
    }
}
client.open("POST", "http://myurl");
client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");

client.send(url);
}

1 Ответ

6 голосов
/ 05 октября 2011

Добро пожаловать в асинхронное программирование

function send() {
    chrome.tabs.getSelected(null, function(tab) {
        var client = new XMLHttpRequest();
        client.onreadystatechange = function() {
            if(this.readyState == 4) {
                alert(this.status);
            }
        }
        client.open("POST", "http://myurl");
        client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");

        client.send(tab.url);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...