2016-12-14 5 views
0

Я создаю приложение Rails 4 и использую Turbolinks Classic (еще не обновлен до Turbolinks 5).Турболинкс (классический) стрельба JS-событие на странице: fetch

Я хотел бы добавить спиннера анимацию на мою страницу при загрузке новой страницы, так что в моем файле JS я добавил:

$(document).on "page:fetch", -> 
    $("#main").html("<div class='page-loader-container'><div class='spinner spinner-primary'></div></div>") 

Где #main является контейнером для ядра моего приложения.

Это отлично работает при переходе от ссылки к ссылке; Turbolinks срабатывает, spinner заменяет содержимое, когда Turbolinks получает новое содержимое, которое заменяет все просто отлично.

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

Я просмотрел документы Turbolinks, а также документы плагина jQuery и не могу понять это.

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

Обновление 2016-12-14 13:40

Когда я использую Turbolinks.enableProgressBar(); прогресс бар работает, как я бы ожидать: он загружается при выборе новых страниц, но он не показывает вообще при загрузке кэшированных страниц , Я использую это сейчас, и он «работает».

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

ответ

0

Эта страница github содержит некоторые хорошие детали в его файле README. Интересно, если это поможет, особенно если раздел страницы кэша:

https://github.com/turbolinks/turbolinks-classic#page-cache

Я также думал, что таблица событий было очень аккуратно. (несколько разделов выше кеша страницы)

+0

@Igroschen: Спасибо за ответ, но я уже прочитал страницу документов и не нашел ничего, что могло решить мою конкретную проблему. Мне, возможно, придется сделать несколько причудливых show/hide элементов вместо замены элемента. –

+0

Да, я надеялся, что этот параграф поможет, но, возможно, в Turbolinks 5 будут варианты. Надеюсь, ты понял, извини, что я не мог больше помочь – lgroschen

Смежные вопросы