У этого вопроса будет более одного вопроса, поэтому извиняюсь за нарушение любого правила.
У меня есть одностраничный сайт HTML5 / CSS3 / JS / jQuery, размещенный на общем сервере Windows с доступом Plesk панель (без доступа RDP).
Этот сайт не является. NET приложением / сайтом и имеет несколько изображений, разделенных на разные разделы, которые просматриваются / отображаются с помощью закладок.
Я использовал jQuery плагин с отложенной загрузкой для отложенной загрузки изображений при каждом щелчке закладок с помощью события запуска плагина:
function lazyLoadImages(className) { //className identifies images for each section
$(className).Lazy({
bind: "event",
effect: "fadeIn",
delay:0
});};
Все работы хорошо. За исключением случаев, когда я go до WooRank для проверки SEO моего сайта, он говорит мне, что изображения не кэшируются (и срок действия не установлен и т.д. c). Это я понимаю, поэтому я использую элемент clientCache и подготавливаю файл web.config
следующим образом и помещаю его в root:
<location path="images">
<system.webServer>
<staticContent>
<!--<clientCache cacheControlMode="UseExpires" httpExpires="Sat, 01 Feb 2020 00:00:00 GMT"/>-->
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00"/>
</staticContent>
</system.webServer>
</location>
Это работает, и WooRank успокаивается и сообщает мне изображения в порядке сейчас. Но вот в чем проблема, я редактирую одно изображение, делаю в нем некоторые изменения и затем go загружаю. Сайт по-прежнему отображает старую версию, даже когда я Ctrl + F5 (жесткий refre sh) сайта. Чтобы проверить, является ли это проблемой с отложенной загрузкой, я изменяю другое изображение, которое не загружается с отложенной загрузкой и жестко обновляется sh, чтобы видеть, что изображение обновляется просто отлично.
Вопросы:
Возможно ли использовать механизм кэширования выше с jQuery плагином с отложенной загрузкой? Если да, то как? На официальном сайте я не нашел никакой информации.
Как вы можете видеть выше, я даже пытался изменить на cacheControlMode="UseExpires"
с указанием даты / времени истечения, чтобы принудительно обновить refre sh сайт использовать обновленное изображение, но это не сработало. Есть ли способ обновить изображения на клиентских компьютерах без использования метода refre sh?
Я знаю, что браузер кэширует файлы сам, и обычно рендеринг происходит из его локальный кеш при повторном посещении сайта, но тогда я не понимаю, почему сайты SEO-обзора всегда заставляют кэшировать такие ресурсы?
Примечание. Я уже просматривал кэш приложений, localStorage для кэширования ресурсов и решил использовать подход web.config, поскольку он не требует каких-либо дополнительных изменений кода.