Расширение для браузера, предотвращающее перезагрузку страницы при нажатии «Назад».

За последние пару лет я заметил, что многие веб-сайты теперь полностью обновляют страницу каждый раз, когда вы возвращаетесь на страницу, нажимая кнопку Back. Это очень раздражает, особенно при сотовом или медленном интернет-соединении.

Может ли расширение браузера предотвратить перезагрузку этой страницы при нажатии Back?

Примечание. Я не говорю о принудительной перезагрузке браузера или ОС из-за нехватки памяти. Это упреждающая перезагрузка, которую сам веб-сайт запускает, когда обнаруживает, что страница стала активной или снова получила фокус.

Самый злостный нарушитель — . Если вы нажмете на тему, чтобы прочитать комментарии, а затем нажмите Back, произойдет 5-секундная задержка, поскольку список тем перезагружается, все голоса пересчитываются, все комментарии подсчитываются и т. д. Я не хочу, чтобы что-либо из этого произошло. , я просто хочу быстро вернуться к предыдущему списку тем, который я просматривал.

Проверьте себя на различных сайтах. Нажмите на тему/комментарии, затем нажмите Back.

Hacker News и Stack Exchange работают довольно быстро. Никакой перезагрузки. Никаких перерасчетов. Просто показывает вам предыдущий список тем.

Reddit ужасно медленный и заставляет полную перезагрузку страницы каждый раз, когда вы нажимаете Back. Другие сайты тоже так делают.

Я ищу расширение браузера для Safari или Chrome, которое может предотвратить перезагрузку всего этого класса страниц на всех веб-сайтах. Какой механизм используют веб-сайты для запуска перезагрузки/обновления и как его можно перехватить и заблокировать?

1 ответ

Заголовки HTTP-ответов для HTML-страниц Reddit выглядят следующим образом:

      accept-ranges: bytes
cache-control: private, s-maxage=0, max-age=0, must-revalidate, no-store

Таким образом, веб-сайт просит браузер не кэшировать страницу с помощью флага max-age.

Однако для некоторых элементов страницы, например файлов Javascript, они запрашивают кеширование (на 7 дней, что составляет 604800 секунд).

      accept-ranges: bytes
cache-control: max-age=604800

Поэтому большая часть контента должна быть кэширована. Может быть, у вас медленный телефон или интернет-соединение?

Другие вопросы по тегам