Задать вопрос
@Againts7
Сайты

Создаю сайт, нужно очищать историю браузера чтобы изменения отобразились. А как сделать чтобы заказчику не нужно было очищать историю браузера?

Когда создаю сайт на своем тестовом хостинге, после изменения css нужно очищать историю браузера, чтобы правильно браузер отобразил изменения на сайте. Клиента в процессе работы прошу посмотреть отображается криво, нужно просить чтобы тоже полностью очистил историю. Как избежать на этапе разработки этого запоминания?
  • Вопрос задан
  • 906 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
UnluckySerivelha
@UnluckySerivelha
1. Вместо полной очистки истории достаточно нажать Ctrl+F5.
2. При изменении файла стилей в конец добавлять версию файла и обновлять ее каждый раз, например: style.css?v=2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
Как вариант - менять название CSS файла, или дописывать в конце GET параметр с версией, которую инкреминтировать при кадом обновлении. Бразер будет видеть новый фал, и не будет подтягивать старый из кеша.
Ответ написан
Комментировать
@happyer
Если сайт на хостинге стоит то в файл php.ini нужно написать строку opcache.enable=Off или если есть строка opcache.enable=On поменять на значение Off
есть другой вариант но более не удобный
нажимать все время ctrl+R или ctrl+F5 таким образом очищается кэш страницы
Ответ написан
Комментировать
colonel
@colonel
Разработчик PHP, Laravel
Добавьте к стилям свою версию
<link rel="stylesheet" href="style.css?v=2">

И после изменения css меняйте версию, v=3 и т.д.
Ответ написан
Комментировать
coderisimo
@coderisimo Куратор тега JavaScript
Нужно очищать КЭШ, а не историю. Самый простой способ - заставлять браузер принудительно использовать НОВУЮ версию css файла.
<link rel="stylesheet" href="style.css?v=1.1"> вот здесь вся магия : ?v=1.1
если сделали изменения
<link rel="stylesheet" href="style.css?v=1.2" итд...
Ответ написан
Комментировать
@choupa
Архитектор (обычный, который строит)
Ещё добавлю. Прикрутить less.js на стороне клиента. CSS будет каждый раз собраться будто свеженьким, до того невиданным.
Ответ написан
deniscopro
@deniscopro
WordPress-разработчик, denisco.pro
Как вариант, добавить обертки
function enqueue_versioned_script( $handle, $src = false, $deps = array(), $in_footer = false ) {
	wp_enqueue_script( $handle, get_stylesheet_directory_uri() . $src, $deps, filemtime( get_stylesheet_directory() . $src ), $in_footer );
}
 
function enqueue_versioned_style( $handle, $src = false, $deps = array(), $media = 'all' ) {
	wp_enqueue_style( $handle, get_stylesheet_directory_uri() . $src, $deps = array(), filemtime( get_stylesheet_directory() . $src ), $media );
}

и подключать с помощью них вместо стандартных функций
function themename_scripts() {
	enqueue_versioned_style( 'themename', '/style.css' );
	enqueue_versioned_script( 'themename', '/js/scripts.js', array( 'jquery'), true );
}
 
add_action( 'wp_enqueue_scripts', 'themename_scripts' );

Ссылка будет меняться автоматически и браузер заказчика будет загружать новую версию файла без необходимости очищать кеш в браузере
<link rel='stylesheet' id='themename-css' href='http://example.com/wp-content/themes/themename/style.css?ver=1429693860' type='text/css' media='all' />

<script type='text/javascript' src='http://example.com/wp-content/themes/themename/js/scripts.js?ver=1429694775'></script>


Подробнее: Как принудительно обновить js и css-файлы в WordPr...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы