Оновлення лише файлів JavaScript у Firefox та Chrome


64

Я хочу очистити лише файли JavaScript з моїх веб-браузерів (Firefox та Chrome). Я роблю налагодження JavaScript, і прикро, що мій JS просто не буде оновлюватися, коли я змінюю свої файли JS. Єдине, що я можу зараз зробити - це очистити файли cookie, але це видаляє всю мою історію перегляду.

Як я можу очистити / оновити файли JavaScript, завантажені в мої браузери, не очищаючи інші файли?

Відповіді:


42

Я роблю це сам для розвитку. Я використовую Ctrl+ F5. Це як силове оновлення. Це оновлює сторінку, включаючи повторну завантаження будь-яких посилань на файли JavaScript або файли CSS, навіть якщо вони були кешовані.

Він НЕ очистить нічого іншого, наприклад вашу історію перегляду.

Але зауважте, що хоча я знаю, що це працює у Firefox та, ймовірно, в Internet Explorer, я не впевнений, чи Ctrl+ F5працює так само в Chrome.

Також, iegik говорить:

У деяких браузерах ви можете використовувати ` Ctrl+ Shift+, Rщоб виконати те саме завдання.


Чудово! Я змінюю прийняту відповідь на вашу, тому що ваша - простіше рішення
Гравітон,

Я ціную це ... Але зауважте, що хоча я знаю, що це працює у Firefox, і, мабуть, IE, я не впевнений, що CTRL-F5 працює так само в Chrome.
7wp

2
Так само і з Chrome 21 beta на Win7 - оновлення сторінки ctrl-f5 не вимагає повторного запиту файлу JS (я використовую Чарльза для подвійної перевірки).
Артем Русаковський

1
насправді хром розглядає спочатку ctrl + f5 як звичайне оновлення за дизайном, потім ctrl + f5 (більше одного) за короткий час змусить перезавантажити всі джерела
Zeela

1
Для Chrome, F12 та клацніть правою кнопкою миші кнопку перезавантаження. superuser.com/questions/220179/…
Cees Timmerman

50

За допомогою Chrome:

Починаючи з Chrome 15, відкрийте Інструменти для розробників, клацніть на шестірні в нижній лівій частині екрана та встановіть прапорець Відключити кеш .

Вимкнення кешу в Chrome 15 і новіших версій

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


Дякую за пораду - я щойно перевірив, і ця опція є і в Chrome 14.
клавіші

Геніальний! Це чудова знахідка.
Randomblue

Блискуче, я це шукав.
Артем Русаковський

... і просто не забудьте зняти прапорець після того, як ви закінчите його.
Halil Özgür

З другого кроку, схоже, що ці параметри активні лише тоді, коли видно devtools: twitter.com/ChromiumDev/status/227356682890670080 (від stackoverflow.com/a/7000899/372654 )
Halil Özgür

8

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

Найкраще тут - додати часову позначку в кінці назви файлів .js / .css або додати версію svn, яка також є чудовою ідеєю.

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

5

Ви можете спробувати очистити лише кеш, а не весь веб-перегляд, історію, файли cookie, паролі, збережені дані форми та інше (за замовчуванням).

У Firefox 3.5 перейдіть до

Інструменти »Очистити недавню історію ...

Потім переконайтесь, що вибрано лише "Кеш", перш ніж вибрати "Очистити зараз".

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

Значок гайкового ключа (Інструменти) »Опції» Вкладка Особисті речі »Очистити дані веб-перегляду ...

Знову ж таки, переконайтеся, що встановлено лише "Очистити кеш".

Крім того, ви можете спробувати відкрити новий приватний сеанс у Firefox або вікно анонімного перегляду в Chrome; також не слід кешувати файли (включаючи файли .JS), які ви автоматично завантажуєте та обробляєте під час перегляду.


Інкогніто - це, мабуть, шлях до Chrome.
mdoar

1

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

Спробуйте ввести код JavaScript, який ви завантажуєте у файл PHP ... просто поставте <?php ?>на початку і поставте ext .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 вважає, що це новий файл;)


1
Не потрібно змінювати ім'я на ".php". Якщо ви введете 'filename.js? T =' + t, результат буде однаковим. Ви можете це зробити і з '.css'. Усі наші виробничі системи використовують цей трюк, щоб підтвердити, що клієнти використовують потрібні файли вмісту.
Леонель Мартінс

1
Як примітка, ми, як правило, використовуємо номер редакції SVN замість дати / часу. Таким чином ми отримуємо переваги кешування, і оновлюємося лише тоді, коли насправді ми виконуємо.
Groo

Дуже дякую! Цей трюк повністю прослизнув у мене. Я боровся з цим питанням цілими днями, і це зробить для мене. Я щойно ставлю це в кінці URL: "? <? Php echo time ()?>"
thrashr888

1

У Chrome ви можете просто натиснути Ctrlі натиснути кнопку оновлення. Я відкрив це випадково.


Це робить важке оновлення всієї сторінки, я не думаю, що це лише оновлює Javascript.
Іво Фліпс

1

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


0

Я сам його не використовував, але додаток Firefox "Clear Cache Button" може бути корисним. Я читаю їх документацію, тому не впевнений, чи очищає вона і вашу історію перегляду.


0

Перейдіть до налаштувань вмісту в Chrome, вимкніть JavaScript і збережіть.

Потім знову ввімкніть JavaScript.


0

Якщо ви працюєте з JavaScript і переживаєте про перезавантаження сторінки, щоб відобразити зміни в JavaScript. Спробуйте скористатися налагоджувачем Chrome, де ви можете вносити зміни до завантажених файлів JavaScript під час виконання, і без використання перезавантаження можна перевірити нові функції або зміни, які ви хочете протестувати.


Ласкаво просимо до Супер Користувача! Будь ласка, прочитайте запитання ще раз уважно. Ваша відповідь не відповідає на початкове запитання.
DavidPostill


0

Додайте динамічну функцію дати в кінці файлу JavaScript. Це змусить браузер завантажувати оновлений файл JavaScript. Значить, включаючи .js файл, який ви можете додати .... xyz.js?

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

Звичайно, це можна буде усунути, коли ваша налагодження буде виконано і буде готове перейти до прямої програми.


Це не JavaScript.
Наталі Адамс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.