Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2017, 13:32
Интересующийся
Отправить личное сообщение для zarim Посмотреть профиль Найти все сообщения от zarim
 
Регистрация: 09.03.2017
Сообщений: 20

Как заставить браузер обновить стили CSS
Современные браузеры цепляются за таблицу стилей мёртвой хваткой, что очень неудобно, если над сайтом проводятся какие-либо работы, затрагивающие изменение таблицы (файла) CSS, ибо чтоб увидеть изменения - надо поплясать с бубном.

Если открыть в браузере файл CSS и нажать F5 - таблица обновится, после - так же F5 на страничке сайта и изменения видны.

Вопрос: можно ли сделать скриптом так, чтобы все эти шаги были "автоматическими", чтобы при нажатии на ссылку (допустим "обновить стили") на сайте - файл CSS и страничка сайта - обновились?
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2017, 15:03
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

<p onclick="document.location.reload(true)">Перезагрузить страницу</p>
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2017, 15:32
Интересующийся
Отправить личное сообщение для zarim Посмотреть профиль Найти все сообщения от zarim
 
Регистрация: 09.03.2017
Сообщений: 20

Спасибо!
А как сделать так, чтобы по клику на ссылку сначала открылся обновился и закрылся (желательно - в фоне) файл стилей, который, к примеру, по адресу http://my-sayt.ru/my.css, а уж потом - текущая открытая страница сайта? Такое возможно в одном скрипте?

Возможно есть более простой способ заставить браузер проглотить изменённую таблицу стилей, но как - не знаю
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2017, 16:13
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

Я не понял вопроса) Где должен открыться и обновиться файл стилей? Может имеется ввиду кеш стилей? Если не надо, чтобы стили не кешировались в браузере, надо перейти в хроме в панель разработчика->вкладка network->disable cache. Самый лучший способ - с использованием сборщиков. Но тут как я понимаю, другие реалии)
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2017, 16:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

zarim,
добавляйте в подключении файла как параметр запроса время его последнего изменения.
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2017, 17:17
Интересующийся
Отправить личное сообщение для zarim Посмотреть профиль Найти все сообщения от zarim
 
Регистрация: 09.03.2017
Сообщений: 20

Царь Леонид, файл стилей лежит как и у большинства сайтов, просто в корне сайта или в папке стилей.
Я бы хотел, чтобы не только я, но и посетители сайта могли нажатием на ссылку-скрипт мгновенно очистить кеш стилей, ибо объяснять каждому, что делать в браузере... бесполезно

laimas, как это сделать, не подскажете?
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2017, 17:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от zarim
как это сделать, не подскажете?
Серверный язык формируя страницу получает информацию о времени последнего изменения файла и подставляет ее в путь:

....name.css?метка_времени

А как получить эту метку, это уже от серверного языка зависит, а какой у вас неизвестно.
Ответить с цитированием
  #8 (permalink)  
Старый 14.10.2017, 17:57
Интересующийся
Отправить личное сообщение для zarim Посмотреть профиль Найти все сообщения от zarim
 
Регистрация: 09.03.2017
Сообщений: 20

Движок сайта - юкоз
Ответить с цитированием
  #9 (permalink)  
Старый 14.10.2017, 18:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от zarim
юкоз
если это бывший "Народ", значит РНР, следовательно так:

<link href="path/filename.css?<?=filemtime('path/filename.css')?>" rel="stylesheet" media="screen"/>
Ответить с цитированием
  #10 (permalink)  
Старый 14.10.2017, 23:13
Интересующийся
Отправить личное сообщение для zarim Посмотреть профиль Найти все сообщения от zarim
 
Регистрация: 09.03.2017
Сообщений: 20

laimas, на юКозе нет пхп, оно есть... но вообще отдельное и немного "кастрированное".... да и сайт не с народа, сразу на козе делался...
Может можно решить скриптом?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить пустой тег <p> быть высотой в одну строку? xintrea (X)HTML/CSS 6 01.10.2012 09:38
как заставить Highcharts обновить свои размеры fr0d jQuery 2 18.07.2012 17:48
Как получить путь до файла из css в firefox? wild_snail Events/DOM/Window 4 11.05.2012 21:09
Как передеть css файл родителя фрейму? Zeal Events/DOM/Window 9 21.10.2008 16:47
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40