JSONP Long Polling всегда загружается - PullRequest
3 голосов
/ 31 марта 2010

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

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

Ответы [ 2 ]

5 голосов
/ 16 декабря 2010

Это простое исправление. Все, что вам нужно сделать, это запустить запрос на опрос с помощью 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>
2 голосов
/ 19 сентября 2010

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

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

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

...