63

Я хочу удалить только файлы JavaScript из моих веб-браузеров (Firefox и Chrome). Я занимаюсь отладкой JavaScript, и раздражает то, что мой JS просто не будет обновляться всякий раз, когда я меняю свои файлы JS. Единственное, что я могу сделать сейчас, - это очистить мои куки, но при этом все мои истории просмотра стираются.

Как очистить / обновить файлы JavaScript, загруженные в мои браузеры, без очистки других файлов?

12 ответов12

50

С Chrome:

Начиная с Chrome 15, откройте Инструменты разработчика, нажмите на шестерню в левом нижнем углу экрана и установите флажок Отключить кэш.

Отключить кэш в Chrome 15 и выше

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

42

Я делаю это сам для развития. Я использую Ctrl+F5. Это как силовое обновление. Это обновляет страницу, включая повторную загрузку любых файлов JavaScript или CSS, на которые есть ссылки, даже если они были кэшированы.

Это НЕ очистит что-либо еще, например историю посещенных страниц.

Но учтите, что хотя я знаю, что это работает в Firefox и, возможно, в Internet Explorer, я не уверен, что Ctrl+F5 работает в Chrome таким же образом.

Также Иегик говорит:

В некоторых браузерах вы можете использовать ` Ctrl+Shift+R для выполнения той же задачи.

8

Я не согласен с @ 7wp. Поскольку некоторые из ваших конечных пользователей не знакомы с функцией Ctrl+F5 , а некоторые даже не знают о различиях между браузерами и даже о существовании других браузеров (например, старейшин), вы должны заставить браузер загрузить новую копия файлов JS/CSS.

Лучшее решение здесь - добавить метку времени в конце имен файлов .js/.css или добавить версию svn, что также является отличной идеей.

<script src="js/myfile.js?t=<?=time()?>" type="text/javascript"></script>
5

Возможно, вы захотите попробовать очистить только ваш кеш, а не весь ваш просмотр, историю, куки, пароли, сохраненные данные формы и еще много чего (по умолчанию).

В Firefox 3.5 перейдите на

Инструменты »Очистить недавнюю историю ...

Затем убедитесь, что выбран только "Кэш", прежде чем выбрать "Очистить сейчас".

В Chrome (не знаю, какую именно версию вы используете, поскольку я использую сборки dev), перейдите в

Значок гаечного ключа (Инструменты) »Параметры» вкладка Личные вещи »Очистить данные просмотра ...

Опять же, убедитесь, что только "Очистить кеш" отмечен.

В качестве альтернативы вы можете попробовать открыть новый закрытый сеанс в Firefox или в окне Инкогнито в Chrome; ни один не должен кэшировать какие-либо файлы (включая ваши.JS файлы) вы автоматически загружаете и обрабатываете при просмотре.

1

Я открываю файл JavaScript на отдельной вкладке, Shift + refresh, проверяю, что я вижу последние изменения, затем Shift + обновляет фактическую страницу (фактически, в моем случае, кадр в наборе кадров, который, кажется, усугубляет ситуацию), Это работает почти все время.

1

В Chrome вы можете просто нажать Ctrl и нажать кнопку обновления. Я обнаружил это случайно.

1

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

Попробуйте создать код JavaScript, который вы загружаете в файл PHP ... просто вставьте <?php ?> в начале и ставь на доп .php.

var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");

// The Date added to the file doesn't effect the results but
// helps Internet Explorer be sure to refresh the data and
// not use cache

var d = new Date();

var t = d.getTime();

fileref.setAttribute("src", filename + ".php?date=" + t);

fileref.setAttribute("id", filename);

Поскольку имя меняется, Internet Explorer считает, что это новый файл;)

0

Я сам этим не пользовался, но может быть полезна надстройка Firefox "Кнопка очистки кэша" . Я прочитал их документацию, поэтому я не уверен, что она тоже очистит вашу историю просмотров.

0

Зайдите в настройки контента в Chrome, отключите JavaScript и сохраните.

Затем снова включите JavaScript.

0

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

0

В последней версии Chrome доступно:

Введите описание изображения здесь

0

Добавьте некоторую динамическую функцию даты в конец вашего файла JavaScript. Это заставит браузер загрузить обновленный файл JavaScript. Это означает, что при включении файла .js вы можете добавить .... xyz.js?

< ? php echo date('l jS \of F Y h:i:s A') ? >

Конечно, это можно удалить после того, как отладка завершена и готова к запуску.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .