Задать вопрос
Denisov80
@Denisov80
Юный Программист

Как обновить страницу в браузере после изменения в js скрипт?

После редактирования JS скриптов, браузер (chrome) не видит изменений,
пока не изменишь путь к JS файлу и соответственно не пропишешь его в HTML странице.
Как решить эту проблему?
После удаления файла JS с сервера, HTML страница работает без изменений, Ctrl + F5 не помогает.

Сайт без CMS, только голый HTML + CSS + PHP + MYSQL.
  • Вопрос задан
  • 1399 просмотров
Подписаться 2 Простой 3 комментария
Решения вопроса 1
@MagicMight
no magic quotes
1) Откройте инструменты разработчика и отключите кэширование
2) Если надо, можете добавить к ссылкам на скрипты динамический хвост типа $script_url . '?t=' . time();
3)
// set expires header
header('Expires: Thu, 1 Jan 1970 00:00:00 GMT');

// set cache-control header
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
header('Cache-Control: post-check=0, pre-check=0',false);

// set pragma header
header('Pragma: no-cache');

Prevent Browser Caching for PHP Script
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Можно не менять путь, а в HTML в URL, указывающем на файл скрипта, добавить аргумент типа /script.js?random=2345785904948759438758934882940589394. И после каждого изменения скрипта менять в HTML вот это вот случайное число. Для браузера URL с другим числом - это другой файл, будет скачивать его заново.

Ну а так, HTTP сервер у вас сконфигурирован неправильно, раз при изменении даты файла не видит этого изменения, или не сообщает браузеру об изменении...
Ответ написан
Комментировать
@php_monkey
php monkey?
В режиме разработки сайта просто обновляй страницу браузера со сбросом кэша (ctrl + f5)

Если страницу надо показать заказчику/работадателю - добавляй гет-параметры к скрипту.
Можно как написали выше таймстемп добавлять, можно ручками писать версию (то, что идет в конце названия скрипта после знака вопроса)
<script src="/assets/js/main.js?v=1.2"></script>
Ответ написан
@makapohmgn
В Chrome ctrl+r, а не f5
Ответ написан
Комментировать
Denisov80
@Denisov80 Автор вопроса
Юный Программист
В итоге сделал rename() на PHP

При простом обновлении страницы, код PHP рандомно переименовывает JS файл,
и прописывает его имя в теги <script src="xxxxx.js"></script>

Спасибо Всем за Советы

Пока в очереди стоял, пробовал TOR браузер на мобильном - тоже работает,
видимо он не кеширует ничего при загрузке страниц.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 04:08
6000 руб./за проект
21 янв. 2025, в 23:55
20000 руб./за проект
21 янв. 2025, в 23:35
80000 руб./за проект