Проверьте, есть ли в турболинке кеш, чтобы определить, когда отображать загрузочный счетчик - PullRequest
0 голосов
/ 07 сентября 2018

Я работаю над проектом рельсов, в котором я использую турболинки.

Когда пользователь нажимает на ссылку, я хотел бы иметь возможность проверить, есть ли у Turbolinks кэш для страницы, на которую он собирается перейти. Если он не кэширован, я хотел бы отобразить загрузочный счетчик.

Я проверил документы и изучил данные о различных событиях Turbolinks, но я не смог найти способ сделать это.

Есть ли способ сделать эту проверку?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Вы можете копаться в кеше Turbolinks.controller, но, учитывая, что это не задокументировано, нет гарантии, что оно всегда будет там (например, в следующей версии). Более идиоматический подход может быть следующим:

document.addEventListener('turbolinks:click', function () {
  showSpinner()
})

document.addEventListener('turbolinks:load', function () {
  hideSpinner()
})

turbolinks:load для кэшированной страницы происходит немедленно, поэтому спиннер не будет виден.

0 голосов
/ 07 сентября 2018

Я нашел с помощью Turbolinks.controller.cache.snapshots дает список всех снимков кэша.

...