Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: BartОтветов: 1

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

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

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

xmlhttprequestgoogle-chromegoogle-chrome-extension

Ответы

Ответ 1 · Bart

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы