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

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

Сайт без CMS, только голый HTML + CSS + PHP + MYSQL.

Дополнительно:

Специально для вас авторизовался даже. Что имею сказать: ваши курсы айти - говно. Учитесь, пробуйте, развивайтесь. В том самом G имеется куча ответов на ваш банальный вопрос. Уж простите, но, может, вы зря пытаетесь?

  • Что имею сказать: ваши курсы айти - говно.

    Я не посещаю НИКАКИЕ курсы IT,
    мало того даже пообщаться в живую не с кем,
    вот и задаю такие банальные вопросы на форумах.

  • Алексей Денисов, да тут слишком жёсткая и токсичная модерация простые вопросы не попадают в т.н. бездну по типу башорга, а совсем зачемто удаляются, хотя они не несут по сути никакой большой нагрузки на сервер, т.е. содержат в основном всего лишь текст, так сформировалось тут общество очень токсичных людей у которых надо отобрать кнопку "есть похожий вопрос" и т.п. потому что это дошло до фанатизма и выдавливания джунов паттернами типа "гугл в помощь", "легко гуглится" и т.п. идиотскими ответами считающими что на "идиотский" вопрос нужно сразу же давать "идиотский" ответ, гуглится оно то гуглится, но гуглится оно у всех по разному, сегодня один и тот же запрос на разных девайсах может выглядеть по-разному, во-вторых люди по разному составляют запросы, и т.п. это не курсы **вно а люди. Этот сайт был прикольным когда он назывался тостером, в самом ещё начале, когда вопросы не стирали только потому что большинство твинков так решило или толпа агрессивных буквоедов, тот кто наседел более тысячи часов смотрит на всех как на **вно, но совершенно забывая что на него сейчас те кто постарше смотрят даже не как на **вно, а вообще даже не оценивают, иной раз перед тем как задать какойто вопрос, ой думаешь ну их нафиг связываться, выслушивать про себя какието гадости, или вернуться потом и увидеть что всё вообще удалено или отредактировано не тобой. Могу порекомендовать stackoverflow как альтернативу к которой просто надо привыкнуть, здесь категорически не приветствуются лёгкие вопросы, такую категорию вообще можно выпилить оставив только средний и выше, это не сайт где учатся, это сайт где фрилансеры помогают друг другу по большей части
  • 1) Откройте инструменты разработчика и отключите кэширование
    2) Если надо, можете добавить к ссылкам на скрипты динамический хвост типа $script_url . '?t=' . time();
    3)

    Prevent Browser Caching for PHP Script

    • 1) Откройте инструменты разработчика и отключите кэширование
      2) Если надо, можете добавить к ссылкам на скрипты динамический хвост типа $script_url . '?t=' . time();

      Не работает:
      1) ни чего не меняется
      2) не подгружает JS

    • Алексей Денисов, значит, вы делаете что-то не так.
      В любом случае, без обновленных кодов клиента и сервера с этим может разобраться только телепат
    • MagicMight,
      1. Поменял файл на сервере (просто добавил console.log('Data of Table:' , data))
      2. Перезагрузил страницу Ctrl+F5
      3. Открыл Консоль в браузере, далее Источники -> Страница -> file.js (он открывается видимо из кеша) файл Без изменений.
      4. Поставил галочку Сеть -> Отключить кеш, все тоже самое - ничего не меняется.

      Конечно может что-то не так делаю, но полдня занятий ни к чему не привели,
      Помог только способ с rename файла JS.

      P.S. Манипуляции с Header правда не пробовал .....

    • Алексей Денисов, самый рабочий из предложенных вариантов (он же ходовая практика) это добавление хвоста времени к урл, как в предложенном мной п.2. Если это не помогло от кеширования, то у вас какой-то совершенно уникальный кейс
    • Добрый вечер еще раз, решил написать.
      Сегодня на свежую голову добавил "хвост/параметры в запрос"

      Все работает Отлично, Спасибо всем за советы.

    Ответы:

    Можно не менять путь, а в HTML в URL, указывающем на файл скрипта, добавить аргумент типа /script.js?random=2345785904948759438758934882940589394. И после каждого изменения скрипта менять в HTML вот это вот случайное число. Для браузера URL с другим числом - это другой файл, будет скачивать его заново.

    Ну а так, HTTP сервер у вас сконфигурирован неправильно, раз при изменении даты файла не видит этого изменения, или не сообщает браузеру об изменении...

    Если это в окружении разработки и сама страница не кэшируется, то как вариант, можно просто этот скрипт при каждом запросе считывать и инлайнить тегом.

    Если модуль или асинхронный скрипт, то:

    Если обычный скрипт, то без атрибута type.

    В режиме разработки сайта просто обновляй страницу браузера со сбросом кэша (ctrl + f5)

    Если страницу надо показать заказчику/работадателю - добавляй гет-параметры к скрипту.
    Можно как написали выше таймстемп добавлять, можно ручками писать версию (то, что идет в конце названия скрипта после знака вопроса)
    <script src="/assets/js/main.js?v=1.2"></script>

    • В режиме разработки сайта просто обновляй страницу браузера со сбросом кэша (ctrl + f5)

      В первую очередь пробовал, то же самое что просто F5
      В консоль разработчика, вкладка Источник видно содержимое JS - без изменений.

    • Можно как написали выше таймстемп добавлять,

      Спасибо - Работает.

    В Chrome ctrl+r, а не f5

    В итоге сделал rename() на PHP

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

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

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

     

    Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

     

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

      Для обновления страницы в браузере после изменения в JavaScript скрипте, можно использовать различные методы. Один из наиболее распространенных способов - это использование метода location.reload(). Этот метод перезагружает текущую страницу, обновляя все ресурсы (включая JavaScript файлы) с сервера.

      Пример использования location.reload():

      Если нужно обновить страницу без перезагрузки всех ресурсов с сервера, можно воспользоваться методом location.replace(). Этот метод заменяет текущую страницу новой страницей, что приводит к обновлению содержимого страницы.

      Пример использования location.replace():

      Еще один способ обновления страницы - это использование метода location.reload(true), который принимает параметр true. Этот параметр указывает на то, что страница должна быть перезагружена с использованием кэша браузера.

      Пример использования location.reload(true):

      Наконец, можно также использовать AJAX запросы для обновления определенных частей страницы без перезагрузки всей страницы. Для этого можно использовать библиотеки типа jQuery или чистый JavaScript.

      Надеюсь, эти примеры помогут вам обновить страницу в браузере после изменения в JavaScript скрипте. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

    Оставить комментарий