Расширение Chrome с XMLHttpRequest медленно при запуске

На данный момент я разрабатываю расширение Google Chrome, в котором мне нужно получать данные с сервера. Я делаю это с помощью XMLHttpRequest, и все идет хорошо, за исключением того факта, что когда я запускаю Google Chrome и сразу нажимаю на свое расширение, оно не открывается, пока XMLHttpRequest не будет завершен. Запрос отправляется на довольно медленный сервер, вот в чем проблема. Но есть ли способ, которым вы можете запустить XMLHttpRequest в другом потоке, или Google Chrome предоставляет вам другой способ получения данных с сервера, работающего в фоновом режиме, чтобы я мог открыть свое расширение, пока оно все еще получает данные с сервера?

Возможно, полезно знать, что XMLHttpRequest выполняется на фоновой странице, а не на всплывающей странице.


person Bart    schedule 24.03.2012    source источник
comment
Все запросы асинхронны, так что это похоже на проблему пользовательского интерфейса, связанную с инфраструктурой расширения. Что значит не открывается? Что всплывающее окно не показывает? Вы нажимаете значок расширения на панели инструментов или в адресной строке?   -  person bzlm    schedule 24.03.2012
comment
Я изменил асинхронный параметр с false на true, теперь вроде работает. Под этим я имел в виду, что всплывающее окно не будет отображаться до тех пор, пока запрос не будет завершен. Спасибо за помощь!   -  person Bart    schedule 26.03.2012
comment
Странно, что для параметра async установлено значение false. Асинхронность обычно используется по умолчанию. Синхронные XHR — это что-то вроде хака. Кроме того, если вы введете реальный ответ и отметите его как принятый, этот вопрос поможет будущим разработчикам расширений!   -  person bzlm    schedule 26.03.2012


Ответы (1)


Похоже, для параметра Asynchronous должно быть установлено значение true.

person Bart    schedule 28.03.2012