Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> автоматическая смена версии css js
VELIK505  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1515
Пользователь №: 25307
На форуме: 5 лет, 11 месяцев, 28 дней
Карма: 44




Надоело при введение в проект новых фишек/правок и стилей постоянно прописывать руками:
href="./css/style.css?r320"
src="./js/page_load.js?r83"
......

Как можно сделать чтобы при залитии(изменений файла) версия добавлялась +1 автоматом и не надо было никуда лезть и руками менять?
У всяких вк и тд вообще по 10 раз на дню может чёто допиливаться перезаливаться:
src="/js/lang0_0.js?6693"

не думаю что они руками прописывают(накидывают +1 к версии)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3376
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 12 дней
Карма: 170




Цитата
href="./css/style.css?r320"

Как я понимаю, это чтобы был коректный кеш в браузере?
А сам файл статичный на сервере?
Как вариант, хранить в базе хеш файла. если не совпадает с реальным хешем, то обновляем в базе хеш, а в темплейт шлем +1
Либо вообще, в темплейт слать не r320, а первые N символов хеша.
Тогда и в базе ничего хранить не надо.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VELIK505  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1515
Пользователь №: 25307
На форуме: 5 лет, 11 месяцев, 28 дней
Карма: 44




Да это чтобы новые изменения юзеры видели сразу а не из кеша. При добавлении версии (?r22) получаеться как бы новый url на css/js соответветственно как бы новый css/js -> браузер запрашивает css/js с сервера заного а не из своего кеша.
Да на сервере храниться статические файлы сами.
Твои решения не подходят. Я буду хеш с базой сравнивать каждую секунду чтоли чекать?
А чё темплейт. Хеш может и совпасть. Есть какие то более простые решения.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SerginhoLD  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



че?
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 706
Пользователь №: 24500
На форуме: 6 лет, 1 месяц, 17 дней
Карма: 51




брать дату/метку времени изменения файла и подставлять динамически, уж если постоянно проверять нужно


--------------------
"internet explorer всех правильней отображает страницы" ©
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3376
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 12 дней
Карма: 170




Цитата (VELIK505 @ 17.01.2016 - 18:21)
А чё темплейт. Хеш может и совпасть. Есть какие то более простые решения.

Всмысле? Куда еще проще?
Совпасть может, конечно, теоретически.

Как-то так имелось ввиду:
$css_file = 'css/styles.css';
$css_file_hash = hash_file('sha256', $css_file);
....
<
link rel="stylesheet" type="text/css" href="<?= $css_file . '?' .$css_file_hash ?>">


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TMake  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3106
Пользователь №: 16333
На форуме: 7 лет, 11 месяцев, 22 дня
Карма: 58




VELIK505 добавь в конфиге параметр версии и от этого бери делай хеш и подставляй во все стили и скрипты.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VELIK505  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1515
Пользователь №: 25307
На форуме: 5 лет, 11 месяцев, 28 дней
Карма: 44




Цитата (AllesKlar @ 18.01.2016 - 20:27)
Цитата (VELIK505 @ 17.01.2016 - 18:21)
А чё темплейт. Хеш может и совпасть. Есть какие то более простые решения.

Всмысле? Куда еще проще?
Совпасть может, конечно, теоретически.

Как-то так имелось ввиду:
$css_file = 'css/styles.css';
$css_file_hash = hash_file('sha256', $css_file);
....
<
link rel="stylesheet" type="text/css" href="<?= $css_file . '?' .$css_file_hash ?>">

Я тебя понял. Самое простое конечно решение.
Но тут видишь ты постоянно сверяешь.
А надо именно 1 раз при изменении файла чекнуть (а не постоянно) и если изменился он то накинуть r+1.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Gram  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 246
Пользователь №: 18471
На форуме: 7 лет, 4 месяца, 15 дней
Карма: 1




Делай проверку хэша файла css и js в папках "update" и в продакшэне, сравнивай, если разные хэши, то перезапись, +1 в переменную версии, и флаг в конфиг, что проверку обновления делать не надо. Когда надумаешь обновить дизайн, в конфиге ставишь проверку в true, предварительно положив обновленные css js в "update". Никаких md5 на каждый запрос! PHP должно жрать проц исключительно 1 раз при изменении версии css и js, и не забудь блокировку на отдачу этих css и js в момент перезаписи сделать, битые файлы не отдаются.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11788
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 15 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 15 дней


https://ru.wikipedia.org/wiki/HTTP_ETag
думаю, для какого-нибудь nginx есть соответствующие модули


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VELIK505  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1515
Пользователь №: 25307
На форуме: 5 лет, 11 месяцев, 28 дней
Карма: 44




Цитата (Invis1ble @ 19.01.2016 - 21:21)
https://ru.wikipedia.org/wiki/HTTP_ETag
думаю, для какого-нибудь nginx есть соответствующие модули

такого модуля не может существовать т.к. nginx примет изменения только после reboot что сам понимаешь недопустимо. На лету nginx не сможет поменять заголовок браузеру.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11788
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 15 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 15 дней


Цитата (VELIK505 @ 20.01.2016 - 02:30)
Цитата (Invis1ble @ 19.01.2016 - 21:21)
https://ru.wikipedia.org/wiki/HTTP_ETag
думаю, для какого-нибудь nginx есть соответствующие модули

такого модуля не может существовать т.к. nginx примет изменения только после reboot что сам понимаешь недопустимо. На лету nginx не сможет поменять заголовок браузеру.

а это тогда что?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VELIK505  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1515
Пользователь №: 25307
На форуме: 5 лет, 11 месяцев, 28 дней
Карма: 44




Цитата (Invis1ble @ 19.01.2016 - 22:42)
Цитата (VELIK505 @ 20.01.2016 - 02:30)
Цитата (Invis1ble @ 19.01.2016 - 21:21)
https://ru.wikipedia.org/wiki/HTTP_ETag
думаю, для какого-нибудь nginx есть соответствующие модули

такого модуля не может существовать т.к. nginx примет изменения только после reboot что сам понимаешь недопустимо. На лету nginx не сможет поменять заголовок браузеру.

а это тогда что?

он у меня включен. Но браузерам видимо по барабану.
если бы он на лету отдавал браузерам результат то такие как vk не докидывали бы версию в html ?r3222
Я могу чекать так же етаг и +1 к версии сss или js докидывать если етаг был изменён но это получается тоже самое что предложил AllesKlar. А надо токо разок чекнуть и докинуть версию при изменении. соответственно напрашивается вывод что vk при изменении/заливки файла и изменяют версию накидывают +1 к версии асинхронно разово. Либо при первом же запросе кем либо статического файла у которого изменился etag послать от nginx запрос на свои какие то скрипты и докинуть +1 к версии скрипта.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




Цитата (SerginhoLD @ 18.01.2016 - 23:56)
брать дату/метку времени изменения файла и подставлять динамически

+1
самое оптимальное решение почему то осталось незамеченным rolleyes.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса