AJAX вызывает не завершающий, потому что всплывающее окно закрывается - PullRequest
1 голос
/ 23 июня 2011

Я использую некоторые вызовы AJAX во всплывающем окне при нажатии кнопки:

var xhr = new XMLHttpRequest();
xhr.open("GET", yourURL, true);
xhr.send();
chrome.tabs.create({url:<some url here>});

Проблема в том, что всплывающее окно закрывается, как только нажимается кнопка, и я думаю, именно поэтому вызовы ajax не завершаются.

Это общая проблема? Что я могу сделать, чтобы у ajax-вызовов было достаточно времени для завершения?

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

Для этого была создана фоновая страница. Переместите свой код на фоновую страницу в значение myFunction(), затем вызовите его из всплывающего окна:

chrome.extension.getBackgroundPage().myFunction()
0 голосов
/ 23 июня 2011

Вам нужен обратный вызов после завершения запроса.

var xhr = new XMLHttpRequest();
xhr.open("GET", yourURL, true);
xhr.onreadystatechange = function() {
    if (xhr.readyState===4 && xhr.status===200) {
        chrome.tabs.create({url:<some url here>});    
    }
}
xhr.send();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...