Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как заставить Pace работать для каждого AJAX-запроса? (https://javascript.ru/forum/misc/66184-kak-zastavit-pace-rabotat-dlya-kazhdogo-ajax-zaprosa.html)

khusamov 29.11.2016 19:50

Как заставить Pace работать для каждого AJAX-запроса?
 
Как заставить Pace работать для каждого AJAX-запроса?
github.hubspot.com/pace
Он работает лишь при загрузке страницы (у меня там одностраничное приложение). А потом, когда я со страницы делаю AJAX-запросы, то полоска прогрессбара больше не появляется. Уже все опции Pace перебрал, но это ничего не дало.

Метод Pace.restart() дает странный результат, полоска пробегает безотносительно успел выполнится запрос или нет. Да и вообще, хотелось бы чтобы Pace автоматически распознавал запросы и показывал прогрессбар.

Rise 30.11.2016 08:55

khusamov, по-умолчанию распознаются только GET-запросы issue#285
<!----- или до подключения pace.js ----->
<script>
	window.paceOptions = {
		ajax: {
			trackMethods: ["GET", "POST"]
		}
	};
</script>
<script src="/pace/pace.js"></script>

<!----- или атрибутом в json-формате ----->
<script data-pace-options='{"ajax":"trackMethods":["GET","POST"]}' src='/pace/pace.js'></script>

khusamov 30.11.2016 15:04

Спасибо! Вроде работает. Пишу вроде, потому-что полоска теперь появляется, но не всегда. То-ли запрос сервер быстро отрабатывает и полоска при этом не успевает появиться, то ли еще что-то.

В документации об этом ни слова(((

khusamov 08.12.2016 20:23

Rise, а не подскажете как на ходу Pace отключить? Ну допустим уже нет необходимости отслеживать запросы к серверу и что-то отображать на экране (или временно нужно отключить это).

Rise 08.12.2016 21:55

khusamov, может так
// отключить
Pace.options = {
  restartOnPushState: false,
  restartOnRequestAfter: false
}
// включить
Pace.options = {
  restartOnPushState: true,
  restartOnRequestAfter: 500
}


Часовой пояс GMT +3, время: 18:39.