Хостинг проектов на Google Code. Файлы кешируются? - PullRequest
3 голосов
/ 16 апреля 2010

Я не очень понимаю, как Google Code управляет версиями файлов. Я создаю плагин jQuery, к которому любой может получить доступ. Вот так:

<script type="text/javascript" src="http://jquery-old-browser-warning.googlecode.com/files/jquery.browser-warning.js"></script>

Этот скрипт обращается к другим файлам в том же проекте (через ajax).

Проблема в том, что когда я загружаю новый файл, кажется, что в нем ничего не изменилось. Google рекомендует, чтобы новые файлы имели новые имена. Но тогда мне придется изменить имена файлов, которые загружает скрипт. Но тогда мне нужно было бы также изменить файл сценария, и это нарушило бы реализацию Everybodys (с тегом script выше)

Есть ли способ заставить файл измениться при загрузке с тем же именем файла?

PS: Если я перейду прямо к списку файлов на странице проекта. Затем я получаю файл с обновленным содержимым. Но, как я уже сказал, не при получении через AJAX.

Ответы [ 3 ]

3 голосов
/ 16 апреля 2010

Самый дешевый способ предотвращения кэширования в книге - добавить случайный контент к параметру GET:

www.example.com/resources/resource.js?random=1234567

Например, вы можете использовать текущую метку времени.

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

Я не знаю ваш рабочий процесс, но, возможно, вы можете работать с версионными каталогами? Вот так:

www.example.com/50/resources/resource.js
www.example.com/51/resources/resource.js

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

0 голосов
/ 16 апреля 2010

Вы говорите о загрузке файлов в область «Загрузки»? У них должны быть разные имена файлов, например, они должны быть версионными. Если вы загружаете код скрипта, он должен быть представлен системой управления версиями, которую вы используете, и, безусловно, должен сохранять одно и то же имя в ревизиях.

Редактировать : ваш фрагмент кода не появился на моей странице, неправильно понял, что вы пытаетесь. Не думайте, что Google будет рад, если вы будете ссылаться на SVN-репозиторий каждый раз, когда загружается какая-либо страница клиента:)

0 голосов
/ 16 апреля 2010

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

Например, Stackoverflow добавляет параметр версии к статическому содержимому, например

http://sstatic.net/so/all.css?v=6638

...