14.10.2017, 23:27
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
zarim,
https://javascript.ru/forum/dom-wind...tml#post264509
<script>
function addCSS(url) {
var a = document.createElement('link');
a.href = url+"?nocache="+Math.random();
a.rel = 'StyleSheet';
a.type = 'text/css';
document.head.appendChild(a);
}
addCSS('path/filename.css');
</script>
|
|
15.10.2017, 07:26
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от zarim
|
на юКозе нет пхп, оно есть... но вообще отдельное и немного "кастрированное"....
|
Не надо пороть ерунды, есть у них РНР, а вам из него то надо всего одна функция.
Сообщение от zarim
|
Может можно решить скриптом?
|
В смысле JS? А смысл какой в этом если при это браузер будет запрашивать ваш стиль постоянно с сервера не кешируя его?
|
|
15.10.2017, 12:18
|
Интересующийся
|
|
Регистрация: 09.03.2017
Сообщений: 20
|
|
Сообщение от laimas
|
если это бывший "Народ", значит РНР, следовательно так:
<link href="path/filename.css?<?=filemtime('path/filename.css')?>" rel="stylesheet" media="screen"/>
|
Очень хочется ответить вашими же словами, ну типа "не надо пороть ерунды", но не буду этого делать. Вместо этого, скажу спасибо, ибо вы подсказали мне правильную мысль и теперь всё работает. Никакого пхп и скриптов не нужно, достаточно применить условный оператор, который есть на этом движке
Код:
|
<link type="text/css" rel="stylesheet" href="/_st/my.css?<? rnd 100 ?>" /> |
Спасибо всем, откликнувшимся!
|
|
15.10.2017, 12:30
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от zarim
|
вы подсказали мне правильную мысль
|
Такой мысли я вам не подсказывал ибо это совсем не то, это ровно тоже самое что и рони вам написал, но с серверной стороны.
То что вы сделали совсем не будет работать по принципу "обновлено - скачать с сервера", это вы понимаете?
Вы видимо используете конструктор, который вам ваш хост предлагает, но язык же серверный он использует? Правил я уже скрипты от этого горя хоста, и работают они на РНР, не знаю, что у вас за проблемы.
|
|
15.10.2017, 22:55
|
Интересующийся
|
|
Регистрация: 09.03.2017
Сообщений: 20
|
|
Почему не будет работать?, работает же, делаю изменение в стилях и они тут же отображаются, при Ф5 либо переходе на иную страницу сайта, которую эти изменения так же затрагивают. Это именно то, чего я добивался.
|
|
15.10.2017, 23:26
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
zarim,
Сообщение от laimas
|
"обновлено - скачать с сервера", это вы понимаете?
|
random отключает кеширование совсем, то есть вы заставляите клиента качать, то что у него уже есть. правильнее информировать браузер об обновлении, чтобы только в случае изменения, качать новую версию css, а не по каждому переходу по сайту закачивать снова и снова ... способ с random это костыль, если нет нормального способа или не волнует трафик сервера и клиента... много букв...
|
|
15.10.2017, 23:39
|
Интересующийся
|
|
Регистрация: 09.03.2017
Сообщений: 20
|
|
рони, согласен с вами, метод грубый, можно сделать хитрее, прописав в стиль ?"цифры" только после обновления сайта.
Файл стилей весит мало, не думаю, что он будет жрать трафик, учитывая, что средний вес страниц уже далеко не 100-200 килобайт, даже для мобильной версии.
Если взять мою любимую Оперу-12, то она стили не кешировала, все изменения были видны сразу, а скорость загрузки на неперегруженных картинками и скриптами сайтах - отличная. Но увы, она ушла, устарела.
Метод, предложенный laimas - не сработал, хоть пхп у меня активировано, вот я и решил сделать пока что описанный выше вариант. Если это можно на юкозе сделать культурнее - подскажите как, буду благодарен
|
|
16.10.2017, 04:53
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от zarim
|
Метод, предложенный laimas - не сработал
|
Это не мой метод, по принципу "изменено - скачать" работает и etag.
Вы просто не разобрались почему у вас не работают вставки кода и на этом успокоились. Могу заметить, что
href="/_st/my.css? <? rnd 100 ?>"
это вставка РНР кода и есть, а значит РНР код выполняется. Но синтаксически, это полный бред, и должно быть как минимум rnd(100). А чтобы при этом и вывести число в браузер этот метод должен уже делать вывод вместо возврата значения, в противном случае вывод будет только в таком случае:
href="/_st/my.css?<? =rnd 100?>"
Но коли это "самописный" метод, ему аргументы так и задаются, и это работает, то нужно почитать доки CMS, что вы используете, в части регистрации собственных функций/методов.
"Народ", это был бесплатный хост с гольным HTML/JS/CSS, юкоз не далеко ушел, предлагают и язык серверный, и базу, но все через задницу. И коли не охота разбираться, то выгоднее поступать именно так прописав в стиль ?"цифры" только после обновления сайта, не каждые пять минут вы же его обновляете.
И учтите, вес это еще не все плохое, лишний запрос сервера куда печальнее, именно поэтому файлы не только сжимают, но и объединяют, к картинкам применяют "технологию спрайта", и т.д.
Последний раз редактировалось laimas, 16.10.2017 в 05:19.
|
|
16.10.2017, 10:07
|
Интересующийся
|
|
Регистрация: 09.03.2017
Сообщений: 20
|
|
laimas, народ и юкоз не имели ничего общего, а после того, как сайты народа были все перенесены на юкоз, разница пропала. Вы наверное забыли, что юкоз имеет свой собственный язык, схожий с пхп, его и предлагают вебмастерам, это так называемые "условные операторы", которые очень напоминают пхп, но это - не одно и тоже и синтаксис отличается.
Так вот, согласно таблице кодов юкоза, синтаксис может быть: <? rnd 100 ?> и <? rnd(100) ?> - они сработают одинаково.
Само ж пхп на юкозе - это отдельный криво*опый сервер, рассчитанный только на скрипты и базы на текстовых таблицах, на этом конструкторе нет ни доступа к файлу htaccess, ни возможности создать полноценную MySQL
Так же согласен, что постоянное обновление - не есть хорошо, поэтому что-то придумаю, например, привяжу не к оператору рандома, а к выводу текущего числа, то есть таблица стилей будет "обновляться" раз в сутки, как по мне - этого вполне достаточно
|
|
16.10.2017, 10:12
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от zarim
|
Само ж пхп на юкозе - это отдельный криво*опый сервер, рассчитанный только на скрипты и базы на текстовых таблица ...
|
Ну а я о чем говорю - все через задницу, что было так, что и теперь не лучше.
Хороший хост, это хост предлагающий один из языков серверных, а не смесь хрен знает чего хрен знает с чем.
Читайте доки их языка в кавычках, какая разница, главное чтобы информацию о файле можно было получить.
|
|
|
|