Вопрос

Я выполняю длинный опрос с помощью JSONP, и Firefox постоянно отображает счетчик «Загрузка», из-за чего кажется, что страница еще не завершила загрузку.Есть ли способ подавить это?

Мне сказали, что у команды Orbited есть хаки для подавления этого, но, просматривая код Orbited.js, я не могу понять, что это такое.Любая помощь будет принята с благодарностью.

Это было полезно?

Решение

Это простое решение..Все, что вам нужно сделать, это запустить запрос на опрос с помощью setTimeout.

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

<script type="text/javascript">
  function poll(){
    $.getJSON('/updates', function(json){
      //reconnect since we successfully received data and disconnected
      poll();

      //add something here to do whatever with the recieved data
    });
  }
  /*call the poll function after document has loaded with setTimeout
  if called before the document finishes loading completely it will
  cause a constant loading indication*/
  setTimeout(poll, 1);
</script>

Другие советы

У меня нет ответа, но есть предложенная альтернатива.Кто-то еще только что задал аналогичный вопрос и вот мой ответ.

По сути, если вы контролируете сервер, самым простым решением является использование заголовков совместного использования ресурсов Cross-Origin для подтверждения междоменного XMLHttpRequest и возврата к JSONP в старых браузерах.

Я предоставил достаточно полную таблицу совместимости (каждый браузер с поддержкой пользовательских сценариев) для CORS как часть ответа, на который я дал ссылку, а также более общую таблицу. в Википедии.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top