JavaScript и возможные проблемы с кешем браузера - PullRequest
3 голосов
/ 05 апреля 2009

Я новичок в JavaScript, и у меня возникла следующая проблема:

Я бы написал код JS в отдельном файле, включив этот файл в код HTML. Код JS работает отлично. Нет проблем. Я хотел бы внести некоторые изменения в код JS, щелкнуть «обновить» в окне браузера, и иногда возникает проблема. Изменения, которые я внес в код JS, все испортили. Код работает не так, как предполагалось. Итак, я начинаю искать проблему, но код в порядке. Так что я очищаю кеш браузера - все равно ничего. Я отменяю изменения в коде JS, все работает. Я вставил новый код обратно - после нескольких «обновлений» кликов - вдруг он работает. У меня проблема с использованием Safari 4, Firefox 2.0. Я не пробовал другой браузер.

У меня вопрос: нужно ли отключать кэширование в браузере, используя какую-то технику JS или просто из браузера, или есть другая проблема? Спасибо за ваше время и помощь!

Ответы [ 4 ]

4 голосов
/ 05 апреля 2009

Если вы ссылаетесь на свой JS-файл случайным ключом, который бы победил кеширование:

например:

var randomnumber=Math.floor(Math.random()*10000)
var scriptfile='http://www.whatever.com/myjs.js?rnd='+randnumber;

Хорошо для отладки, если ничего больше.

3 голосов
/ 05 апреля 2009

При перезагрузке / обновлении веб-страницы большинство сценариев времени перезагружается из кэша. Вы можете заставить браузер перезагружать внешние файлы скриптов, удерживая нажатой клавишу Shift и нажимая кнопку обновления.

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

2 голосов
/ 06 апреля 2009

Лично я принудительно обновляю с помощью CTRL + F5.

1 голос
/ 05 апреля 2009

Я нахожу, что при отладке некоторых JS у меня просто открывается URL-адрес javascript в другой вкладке. Когда я загружаю, я сначала переключаюсь на вкладку, нажимаю обновить, а затем проверяю код. Это или поворот кеширования в плагине FireFox WebDeveloper.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...