0 Пользователей и 1 Гость просматривают эту тему.
  • 21 Ответов
  • 431 Просмотров
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
Честно сказать, уже надоело клиентам объяснять, что для того, что бы увидеть правки, которые я внес, надо почистить историю, либо открыть сайт в режиме инкогнито. Нельзя ли как-то дать браузеру знать, что бы он не тянул данные из кеша, а загрузил все по новой? Может какой-нибудь хитрый JavaScript для этого существует?

Заранее спасибо всем, кто откликнется. Достало уже до чертиков(
« Последнее редактирование: 23.07.2018, 11:17:06 от dm-krv »
*

NewUsers

  • Завсегдатай
  • 1613
  • 137 / 0
В общих настройках кэширование отключено?
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

lexxbry

  • Живу я здесь
  • 2389
  • 65 / 7
ctrl+F5 сложно нажать?

разные браузеры по разному воспринимают мероприятия по редактированию стилей
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
ctrl+F5 сложно нажать?

разные браузеры по разному воспринимают мероприятия по редактированию стилей

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

Может компоненты есть, под Joomla, который по запросу с админки заново генерирует ссылки к стилям, но новым адресам? В итоге, браузер посетителя точно загрузит самую актуальную информацию.

В общих настройках кэширование отключено?

Само с собой. Речь о кешировании браузерами.
*

lexxbry

  • Живу я здесь
  • 2389
  • 65 / 7
блин ну по сути кешируется в браузере на стороне клиента
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
блин ну по сути кешируется в браузере на стороне клиента

Да. Как это обойти?
*

robert

  • Живу я здесь
  • 4699
  • 432 / 17
Можно добавить к имени CSS-файлу ?v=UNIX-время или ?UNIX-время.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
Можно добавить к имени CSS-файлу ?v=UNIX-время или ?UNIX-время.

Воот. Нету простого JS который будет каждый раз дописывать рандомную приставку к картинками и стилям на странице? Вот совершенно нет желания шаблон ковырять, ради разового показа сайта клиенту.
*

kern.USR

  • Давно я тут
  • 810
  • 61 / 1
Это js-ом не решается!
Это нужно решать сервером. У вас шаблон самописный? Стили откуда и как цепляются?
*

robert

  • Живу я здесь
  • 4699
  • 432 / 17
Это js-ом не решается!
На самом деле решается, другое дело - у Joomla есть инструмент для решения сервером.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
Это js-ом не решается!
Это нужно решать сервером. У вас шаблон самописный? Стили откуда и как цепляются?

Речь не о конкретной ситуации, а вообще. Надоело мне, каждый раз объяснять клиенту, что бы он смотрел сайт в режиме инкогнито. Для показа изменений заказчику, разумнее будет временно внедрить JS-код, который тупо допишет в HTML коде сайта рандомную концовку к файлам .css, .jpg и .png - тогда стили с сервера прогрузятся по новой и он увидит сайт так, как задумано, а не так, как запомнил его браузер.

Вот я и спрашиваю, может есть, где-нибудь в интернете уже готовый скрипт для описанной цели?
*

ProtectYourSite

  • Завсегдатай
  • 1812
  • 101 / 4
  • Безопасность вебсайтов
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
https://api.joomla.org/cms-3/classes/Joomla.CMS.Document.Document.html#method_addScript в опциях указывать версионность.

Увы, ничего не понял( Только начал учить JS и дальше переменных пока не ушел.
*

markus-s

  • Захожу иногда
  • 84
  • 8 / 0
Объявите в index.php шаблона переменную, например $version. Задайте ей произвольное значение. Например, дату изменения стилей (ну, скажем - 230718).
При подключении стилей и(или) скриптов ниже, допишите строки - к имени файла добавьте версию таким образом:
Код
.../mystyle.css?<?php echo $version; ?>

В последующем, после редактирования стилей - обновляйте значение переменной $version - например меняйте дату на текущую (полагаю, если редактируете стили, изменить пару цифр одной строки в index.php не проблема). Браузеры будут загружать стили по-новой.
Как-то так. Возможны варианты и усовершенствования. У меня на некоторых сайтах определённые стили подключаются не в index.php, а в переопределении макетов - в таком варианте нам нужно что-то глобальное - например можно объявить константу (константы глобальны) и юзать её в т.ч. и в макетах.
Не знаю, честно говоря, насколько всё это правильно, но пока это наиболее действенный и удобный для меня вариант - по умолчанию стили и скрипты кешируются (и это хорошо), а если что-то поменял - изменил одну строчку и они подгрузились заново и... снова кешируются (уже в обновлённом варианте). ^-^
« Последнее редактирование: 23.07.2018, 20:17:22 от markus-s »
*

dmitry_stas

  • Легенда
  • 12703
  • 1191 / 8
надо что то типа такого: системный плагин, ловим onBeforeCompileHead, перебираем $document->_scripts и $document->_styleSheets, если файл локальный - добавляем '?v='.filemtime($file)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
Объявите в index.php шаблона переменную, например $version. Задайте ей произвольное значение. Например, дату изменения стилей (ну, скажем - 230718).
При подключении стилей и(или) скриптов ниже, допишите строки - к имени файла добавьте версию таким образом:
Код
.../mystyle.css?<?php echo $version; ?>

В последующем, после редактирования стилей - обновляйте значение переменной $version - например меняйте дату на текущую (полагаю, если редактируете стили, изменить пару цифр одной строки в index.php не проблема). Браузеры будут загружать стили по-новой.
Как-то так. Возможны варианты и усовершенствования. У меня на некоторых сайтах определённые стили подключаются не в index.php, а в переопределении макетов - в таком варианте нам нужно что-то глобальное - например можно объявить константу (константы глобальны) и юзать её в т.ч. и в макетах.
Не знаю, честно говоря, насколько всё это правильно, но пока это наиболее действенный и удобный для меня вариант - по умолчанию стили и скрипты кешируются (и это хорошо), а если что-то поменял - изменил одну строчку и они подгрузились заново и... снова кешируются (уже в обновлённом варианте). ^-^



Да в том-то и дело, вариант когда модифицируется разметка шаблон сложен и отнюдь не универсален - это ведь на каждом сайте придется тратить время и редактировать шаблоны вывода. Не легче ли просто опубликовать универсальный js код, который после загрузки страницы, просто модифицирует некоторые ссылки в HTML коде? Ведь js как раз хорошо умеет работать с контентом на странице.

Для сравнения:
1. На публикацию js кода надо потратить всего пару секунд, отключается он также нажатием одной кнопки.
2. На ручное редактирование линков в шаблоне уйдет минимум 5 минут + нервы (оно того не стоит), после сдачи сайта еще и удалять придется все, что дописал.
*

robert

  • Живу я здесь
  • 4699
  • 432 / 17
Спойлер
[свернуть]
Положите перед </body>.
« Последнее редактирование: 23.07.2018, 21:41:36 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fsv

  • Живу я здесь
  • 2637
  • 382 / 2
Положите перед </body>.
Кэширование в пролете.
Не надо на js, дописать линкам в качестве версии время последнего изменения файла (автоматом, на php). Не так уж много таких файлов в шаблоне.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

robert

  • Живу я здесь
  • 4699
  • 432 / 17
Кэширование в пролете.
Не надо на js, дописать линкам в качестве версии время последнего изменения файла (автоматом, на php). Не так уж много таких файлов в шаблоне.
Да, так - дешево и сердито :). Похорошему надо
что то типа такого: системный плагин, ловим onBeforeCompileHead, перебираем $document->_scripts и $document->_styleSheets, если файл локальный - добавляем '?v='.filemtime($file)
+ onBeforeRender для картинок.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
Кэширование в пролете.

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

Robert, огромное тебе спасибо за код! Все работает. Сам бы я хрен написал подобное) Не с моими навыками пока.
*

fsv

  • Живу я здесь
  • 2637
  • 382 / 2
Это и нужно!
Это не нужно.
Вы думаете только о презентации заказчику. А о старых стилях, закэшированных у посетителей сайта, не думаете. И для них надо подсунуть новые имена измененных файлов (js, css).
Зачем в шаблоне чистить? На то он и шаблон.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

dm-krv

  • Давно я тут
  • 699
  • 12 / 0
Это не нужно.
Вы думаете только о презентации заказчику. А о старых стилях, закэшированных у посетителей сайта, не думаете. И для них надо подсунуть новые имена измененных файлов (js, css).
Зачем в шаблоне чистить? На то он и шаблон.

О каких, к черту, посетителях идет речь, если методу я планирую использовать только для вновь созданных сайтов? Порой заказчик просить поменять цвета и картинки, было бы очень удобно иметь инструмент, который заставит браузер заказчика заново грузить стили при каждом заходе. Само с собой, после сдачи проекта отрубаем скрипт и тогда кеширование заработает вновь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

А можно вставить блок "последние видео" со своего ютьюб-канала?

Автор Аня

Ответов: 2
Просмотров: 223
Последний ответ 24.12.2018, 15:53:02
от Аня
Можно ли удалять эти компоненты?

Автор polezniy

Ответов: 8
Просмотров: 215
Последний ответ 12.11.2018, 17:49:34
от polezniy
Можно ли включать плагин Система кэш вмести с Jotcache?

Автор polezniy

Ответов: 10
Просмотров: 253
Последний ответ 02.11.2018, 10:40:59
от polezniy
В каком фале можно заменить кнопку подробнее на ссылку?

Автор serzh-serega

Ответов: 11
Просмотров: 209
Последний ответ 21.09.2018, 12:28:35
от draff
Можно ли сделать отображение в меню количества документов в статье

Автор SergeiK2011

Ответов: 1
Просмотров: 217
Последний ответ 15.09.2018, 05:45:57
от Cedars