Файл Javascript не обновлен на iPad - PullRequest
3 голосов
/ 14 октября 2011

У меня есть один HTML-файл и один JS-файл.HTML-файл обновляется, но JS-файл никогда не перезагружается.Я попытался очистить историю и кэш, а также отключить iPad.Я также удалил все девять страниц в iPad.

Наконец я нашел обходной путь.Переименование файла js решило проблему.Но это неловкое решение.

Есть ли лучший способ?

(Я использую самый старый iPad. Не могу найти номера версий.)

Ответы [ 3 ]

6 голосов
/ 14 октября 2011

Для принудительной перезагрузки файла JavaScript во время разработки я обычно добавляю параметр строки запроса в конец файла.Например:

<script type="text/javascript" src="file.js?v=0.1"></script>

Когда разработка для этой версии завершена, я включаю номер версии в имя файла.

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

0 голосов
/ 14 октября 2011

Я не уверен на 100%, что понимаю ваш вопрос, однако, если вы создаете веб-сайт и не хотите, чтобы браузеры пользователя кэшировали файл javascript, я бы рекомендовал добавлять номер сборки в файл JS при каждом сохранениии обновите html-ссылку на файл + buildnumber.js.

Пример:

вместо

<script src="myAwesomeJavscriptFile.js"></script>

сделайте это:

<script src="myAwesomeJavscriptFile.001.js"></script>

Затем в следующий раз, когда вы измените его, сделайте это:

<script src="myAwesomeJavscriptFile.002.js"></script>

Другой способ сделать это - отправить определенные заголовки без кэша для каждого файла, используя ваш веб-сервер (Apache, Nginx, IIS)

Удачи!

0 голосов
/ 14 октября 2011

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

Чтобы преодолеть это, добавьте переменную к имени файла javascript, например, myfile.js?id=[ADD TIMESTAMP HERE]

На котором вы, конечно, добавляете метку времени с языком программирования, который вы используете, например, в PHP: time()

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