Всякий раз, когда я возвращаюсь назад или вперед в истории навигации Safari, он перезагружает страницы, даже если я только что посетил страницу две секунды назад.
При навигации с помощью кнопок «назад/вперед» или пролистывании вперед и назад приложение всегда перезагружает страницу из Интернета.
Могу ли я что-нибудь изменить, чтобы Safari кэшировал страницы, которые я только что посетил, более агрессивно?
Ответ — нет, Safari не кэширует страницы — однако он кэширует элементы, из которых состоит страница, когда правила, которые веб-сервер связывает с каждым элементом, разрешают кэширование.
Вы можете увидеть это на своих конкретных страницах, включив меню «Разработка» в настройках Safari:
Как видно из этого изображения, страница, на которой опубликован ваш вопрос, позволяет кэшировать многие элементы, а время загрузки этих элементов находится в диапазоне 0,1–0,3 мс. Элементы, которые не кэшируются, имеют более длительную загрузку, поэтому, возможно, на страницах, которые вы просматриваете, либо мало элементов с включенным кэшированием, либо в общем времени загрузки страницы преобладает некэшированный макет и контент.
Если вы хотите кэшировать контент для чтения в автономном режиме, используйте функцию «Список для чтения», чтобы сохранить страницу для использования в автономном режиме. Это позволяет более агрессивно кэшировать большую часть большинства страниц, чтобы разрешить чтение страницы в автономном режиме позже. В вашем случае, когда Safari находится в сети, он проверит, актуальна ли версия списка для чтения на странице, поэтому это может быть не совсем то, что вы ищете.
У вас есть расширения в Safari?
У меня лично тоже была эта проблема. Чтобы исправить это, я отключил все свои расширения, и мне стало ясно, что AdBlock вызывает это у меня. Я отключил его сейчас, и он больше не перезагружается при возвращении.
Для тех, у кого нет расширений:
Со страницы обсуждения Apple:
Многие форумы, такие как этот , показывают, что это ошибка в Mountain Lion. Многие люди подали жалобы, но Apple пока ничего не сделала.
Синий индикатор выполнения представляет собой комбинацию связи с сервером, загрузки данных и рисования (рендеринга) страницы в окне. Если вы нажмете «Назад», в зависимости от скорости вашего соединения, задержки соединения, скорости системы и множества других факторов (сколько происходит в фоновом режиме, сколько у вас свободной оперативной памяти и т. д.) может потребоваться некоторое время для перезагрузки страницы. в окне, но это не обязательно означает повторную загрузку всех данных.
Отключение Wi-Fi (или любого интернет-соединения) и попытка перейти по URL-адресу ВСЕГДА будут терпеть неудачу, потому что он не может выполнить начальные шаги, чтобы определить, какую страницу загружать (не может подключиться к DNS-серверу). Независимо от того, загрузит ли Safari в конечном итоге страницу снова, он всегда будет сначала подключаться к серверу веб-сайта, чтобы определить, изменилась ли страница с момента последнего посещения.
Вы можете проверить, кэширует ли Safari, выполнив следующие действия:
http://trakt.tv/user/tubedogg
. Когда он полностью загрузится, щелкните Reload the current page
в адресной строке.Web Inspector
.Resources
вкладку.Images
.Request & Response
раздел. (Возможно, вам придется прокрутить вниз, чтобы увидеть это.) Проверьте, Cached
написано ли «Да» или «Нет ».Обратите внимание, что не все изображения могут кэшироваться в зависимости от инструкций сервера. Например, некоторые объявления говорят вашему браузеру не кэшировать их. Но если вы просмотрите многие или все изображения на странице, на большинстве из них должно быть написано «Да» для Cached
. Это определит, правильно ли кэширует Safari.
тюбик
Тулайнс Кордова