|
|
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Прикрутил я эту современную моднючюю технологию. Все работает, содержимое нужных файлов XML подгружаются в нужную ячейку таблицы. Только вот когда файлы на сервере я меняю, эти два браузера продолжают грузить из кэша, а то, что они изменились - наплевать. Даже если их удалить - грузят. Разумеется, рекомендовать юзеру почистить кэш перед посещением страницы я не могу. Попробовал вставить в начало подгружаемого файла следующую конструкцию (как и на самой странице, в которую идет подгрузка), хотя мне это и показалось как бы не очень правильным: Код: plaintext 1. 2. 3. А вот Опере все равно всё пофигу. 1. Корректно ли использование такой конструкции, как в примере? 2. Что делать с Оперой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 12:40:23 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Можно "просрочить" документ. Т.е. когда браузер во второй раз запрашивает документ с сервера, то он (браузер) сравнивает "срок хранения" и дату последнего изменения документа на сервере со временем кэширования, поэтому добавив в хедер такие строки: Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Mon, 26 Jul 2997 05:00:00 GMT вы скажете браузеру, что страница "просрочена" и совсем недавно изменялась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 13:01:29 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
А если не с помощью meta, а сервером выдавать "no-store, no-cache, must-revalidate"? На всякий случай проверьте заголовки http-сниффером. Если так не работает, то к имени вызываемой страницы попробуйте добавить сгенерированое случайное число - php?id=343434. P.S. в некоторых случаях в отличие от других браузеров, отмена кеширования в Опере невозможна программно (по крайней мере решения проблемы не видел нигде), но тут случай другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 13:27:16 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Насчёт случайного числа, гуида или таймстампа, согласен с st_st . Тэг "мета" в случае с аяксом не имеет никакого эффекта по определению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 13:32:55 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
EmilRegis, А как сказать, что страница просрочена? st_st, А как сервером "no-store, no-cache, must-revalidate" выдать? Я не умею. Как-то всё оно не очень просто... А в самом Аяксе ничего программно не предусмотрено? Кстати, по поиску тут с засадой кэша только одну тему нашел. Только трехлетней давности и без единого ответа... ShSerge, ФФ "мету"подхватил все-таки. Случайное число прицеплять не могу - у меня не php, просто html. :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 14:02:32 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Letter_Q...ФФ "мету"подхватил все-таки. Случайное число прицеплять не могу - у меня не php, просто html. :(( Ничего он не подхватил. Просто повезло, что в ФФ так работает, а не по другому. Напишите: html?id=343434 или вообще html?343434. Потому что кеширование происходит по урл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 14:16:44 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. кстати если вы пользуетесь ajax, то фраза у меня не php, просто html. не имеет смысла...php-это серверный язык, html - язык разметки...ajax'ом же вы обращаетесь к серверу..вот на сервере и можете попробовать прицеплять случайное число или дату ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 14:18:05 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
"html?id=343434" Вот это попробую А вот это: Код: plaintext 1. 2. А если в них, то надо обрамлять <head>? Вроде бы по правилам - надо, мета-теги там пишутся, но тогда после загрузки в тело странице получится, что на ней два заголовка будет?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 14:45:34 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Letter_Qдостаточно на основной странице прописать (хотя там и так ноу-кэш стоит, мм?), или тоже в подгружаемые файлы? А если в них, то надо обрамлять <head>? Вроде бы по правилам - надо, мета-теги там пишутся, но тогда после загрузки в тело странице получится, что на ней два заголовка будет?! Я же Вам говорил, что для аякса это не имеет смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 14:51:42 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Ладно, попробую "html?id=343434" :)) Это я могу менять на лету, а имена файлов, как я понял, менять не надо. Если ж чё не заработает, опять приду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 15:14:30 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Спасибо, все работает замечательно. Но все-таки я вернулся в топик, обнаружилась совсем другая проблема, не по заявленной теме. На самом деле этот Аякс я прикрутил лет пять назад, но до использования все руки не доходили. Тогда особо много информации в инете найти не удалось и я сделал подгрузку XML-файлов следующего формата: Для Оперы и ФФ файл выглядит так: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. А вот когда я сейчас вернулся к этой "разработке", то решил проверить и новые версии браузеров, появившихся за это время, результат оказался плачевный - если в Опере и ФФ все работало по прежнему нормально, то в IE 7 и 8 стала отображаться белиберда. Даже теги стали сбиваться, видимо некоторая последовательность символов воспринимается, как скобка. Навскидку попробовал всю кириллицу заменить на последовательности типа "& # 1040;", но результата это не принесло. И что делать теперь? Для IE 7 и 8 необходимо формировать файл третьего типа, и если да, то как? ... Хотя с этими типами файлов я, наверное, пошел по неправильному пути. Что-то сомнительно такое разнообразие. Ткните, пожалст, куда-нибудь. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2010, 12:06:03 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
Не совсем понял, зачем загружать xml-файл (контент), поле которого представляет xml-контент (html)? Неужели нельзя грузить сразу контент? Мне эта тема достаточно хорошо знакома, так как динамический контент - моя слабость и я везде его всовываю. Если все-таки надо использовать для транспорта более расширенную структуру (типа твоего), то один совет: хранить реальный контент в файле типа хтмл, а xml-структуру создавать динамически при запросе и упаковывать загружаемый контент (у меня Java, я использую URLEncode.encode(...), у себя смотри сам), а на клиенте при получении структуры вынимать строку и преобразовать ее в xml-стрекутуру посредством decodeURIComponent(...) и вставлять уже в ДОМ. Так это будет максимально кроссбраузерно и проблем не должно возникнуть, правда, строка будет чуть длиннее. У меня такие структуры, только в JSON, получает флеш и отдает странице, которая уже распаковывает - и все отлично работает в любом браузере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2010, 14:42:47 |
|
||
|
AJAX в Опере и ФФ. Проблемы из-за кэширования.
|
|||
|---|---|---|---|
|
#18+
IDVsbruckНе совсем понял, зачем загружать xml-файл (контент), поле которого представляет xml-контент (html)? Неужели нельзя грузить сразу контент?Я ничо в этом не понимаю. Контент у меня уже готовый, да. На странице только девять строк скрипта, а содержимое формируется заранее и только грузится. Ничего динамически не формируется. Как загрузить по другому - не знаю, как прочитал пять лет назад, так и сделал. ... Попробую перегнать в UTF-8, посмотрю, что будет. В шестом ИЕ полет нормальный, проверил. А для ФФ и Оперы надо в UTF перегонять, как правильно? Они и вин-1251 нормально читают, не знаю, надо ли... Или лучше перегнать? А то в новых версиях вдруг тоже чего поменяется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2010, 15:45:41 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=36516718&tid=1453377]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
273ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 190ms |
| total: | 548ms |

| 0 / 0 |
