2009-10-06 1 views
1

Это более важный вопрос, но для меня это очень важно, потому что это заставляло меня много раз думать, что мои js или css модификации не работают.Перезагрузка javascript и CSS, лучшие практики: PHP

Я работаю с PHP и имею свои CSS и JS в отдельных файлах. Иногда, когда я нажимаю кнопку круговой перезагрузки, мои изменения не срабатывают. Я использую либо перезагрузку, либо повторное нажатие Enter после URL. Иногда не работает, и мне приходится делать сумасшедшие вещи, такие как перезапуск моего браузера для очистки кешей.

Чтобы проверить, работает ли я со старым или новым JS, я использую разные предупреждающие сообщения, и именно тогда я выясню, что он все еще использует старую (предварительно измененную) JS. То же самое для CSS, я использую разные цветовые границы и т. Д., Чтобы узнать, собирает ли он новое. Излишне говорить, что я уверен, что есть более эффективные методы, чем это :)

ответ

1

Ctrl-Shift-R или Ctrl-F5 (эквивалент Mac эквивалент?) Бы сделать резкое обновление и заставить пользовательский агент загружать все с нуля.

+0

Спасибо за ответ meder. В чем разница между ними, если таковая имеется? Просто любопытно. Благодарю. – Chris

+0

Ctrl-Shift-R более удобно, однако я * думаю * IE просто принимает CTRL-F5 - я мог ошибаться. –

1

Вы можете либо принудительно повторно загрузить с сервера при перезагрузке, используя что-то вроде Ctrl + F5 в Firefox (чтобы указать браузеру, он должен повторно запрашивать файлы с сервера, вместо того, чтобы использовать версию, которую он имеет в кеше на вашем компьютере), или деактивировать кеширование в вашем браузере (по крайней мере, при разработке связанных с CSS/JS).

Отличный инструмент для деактивации кеширования - это Firefox web-developper extension: он предоставляет вам панель инструментов, которая дает быстрый доступ к нескольким полезным параметрам при разработке интерфейса.

1

Для разработки вы можете добавить произвольное число в конец URL вашего CSS & JS-файлов. Что-то вроде:

<script type="text/javascript" src="/myscript.js?<?php echo rand(1, 200000);?>"></script> 

Или

<link rel="stylesheet" href="/styles.css?<?php echo rand(1, 200000);?>"> 

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

+0

Спасибо за ответ. Помимо этого исключается ручной шаг по удару Ctrl + F5, имеет ли этот метод какие-либо другие преимущества по сравнению с другими, которые предложили Ctrl + F5? Я спрашиваю, потому что я предпочитаю использовать Ctrl + F5, когда это необходимо, чем добавлять код, который мне нужно удалить, прежде чем удалять производственную среду. – Chris

+0

Я не могу придумать никаких других преимуществ. Вы можете добавить чек, чтобы узнать, является ли сервер производством или нет, и добавить случайный номер или нет. Тогда вам не о чем волноваться :) –

0

Shift Нажмите кнопку перезагрузки.