Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.
  • Форумы
  •  » Firefox
  •  » Кеширование содержимого веб страниц - проблема разработчика!

№130-07-2012 15:43:51

CrazyPHP
Участник
 
Группа: Members
Зарегистрирован: 30-07-2012
Сообщений: 6
UA: Opera 12.0

Кеширование содержимого веб страниц - проблема разработчика!

Есть в Firefox такая "замечательная", уникальная функция как "кеширование содержимого веб страниц". И похоже что агрегат кеширует содержимое параметра "data" каждого объекта на странице. В результате чего javascript работает неадекватно, т.к. в этом параметре оказываются закешированные данные с прошлого визита этой страницы. Так вот как со стороны разработчика указать firefox не использовать это чёртово кеширование на странице?

:|

Отсутствует

 

№230-07-2012 17:23:58

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 14.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

У поисковиков отпуск что ли?
https://www.google.ru/search?q=запретит … 8&oe=utf-8

Отредактировано littleleshy (30-07-2012 17:24:20)

Отсутствует

 

№301-08-2012 14:15:53

CrazyPHP
Участник
 
Группа: Members
Зарегистрирован: 30-07-2012
Сообщений: 6
UA: Opera 12.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

littleleshy пишет

У поисковиков отпуск что ли?
https://www.google.ru/search?q=запретит … 8&oe=utf-8

У вашей головы отпуск? Я говорю о "кешировании СОДЕРЖИМОГО веб-страниц", которо есть ТОЛЬКО у firefox и НИКАКИМ образом не отключается! Никакого отношения к традиционному кешированию страниц браузером это не имеет, это пакостная "фича" есть только у firefox, она кеширует состояния объектов html страницы, что нарушает работу js скриптов, поскольку они получают неожиданные данные (с прошлых визитов страницы).

Как это устранить, со стороны страницы (разработчика)?

Отредактировано CrazyPHP (01-08-2012 14:16:09)

Отсутствует

 

№401-08-2012 15:18:15

ru-vadik
Участник
 
Группа: Extensions
Откуда: Россия
Зарегистрирован: 23-10-2004
Сообщений: 1976
UA: Firefox 14.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

Приведите пример кода, который, как Вы считаете, работает неправильно.


Не стойте на месте - ищите новые тупики :)

Отсутствует

 

№501-08-2012 16:08:59

CrazyPHP
Участник
 
Группа: Members
Зарегистрирован: 30-07-2012
Сообщений: 6
UA: Opera 12.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

ru-vadik пишет

Приведите пример кода, который, как Вы считаете, работает неправильно.

ПРИМЕР

Имеем html страницу:

Выделить код

Код:

<!DOCTYPE html>
<html lang="ru">
    <head>
        <meta charset="windows-1251" />
        <title>Firefox sucks</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
    </head>
    <body>
        <script>
            $(document).ready(function(){
                //$("#rad_1").prop("disabled",true);
            });
        </script>
        <input type="radio" name="radio_group" id="rad_1" value="1" checked="" /> - radio 1 <br />
        <input type="radio" name="radio_group" id="rad_2" value="2" /> - radio 2 <br />
        <input type="radio" name="radio_group" id="rad_3" value="3" /> - radio 3 <br />
        <input type="radio" name="radio_group" id="rad_4" value="4" /> - radio 4 <br />
    </body>
</html>

Эксперимент №1:
1. Просто нажимаем на любой радио баттон.
2. Нажимаем F5.
3. Видим что остался выбранным именно тот радио баттон, что мы нажали в пункте №1. ХОТЯ в html коде есть явное указание на то, какой элемент должен быть выбран!

Отсюда и все беды, демонстируемые в эксперименте №2:


Эксперимент №2:
1. Раскоментирйте строку в блоке <script>.
2. Обновите страницу, элемент rad_1, окажется выключенным.
3. Измените в блоке <script> "rad_1" на "rad_2".
4. Обновите страницу.
5. Оба элемента, как "rad_1" так и "rad_2" оказались выключенными, хотя в коде в данный момент отстутсвует скрипт выключающий "rad_1".

Вот вам и ошибка в работе скриптов. Т.е. если бы я стал проверять значения "disabled" этих элементов, то они были бы равны не тем значениям каким должны быть равны, и всё из-за кеширования состояний элементов на странице.

В других браузерах такого бреда нет.

Так вот вопрос как отключить это кеширование?

Отсутствует

 

№601-08-2012 21:39:43

ru-vadik
Участник
 
Группа: Extensions
Откуда: Россия
Зарегистрирован: 23-10-2004
Сообщений: 1976
UA: Firefox 14.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

F5 достает страницу из кеша - источник страницы значения не имеет, диск это или сервер. Если хотите получить актуальную копию, нажимайте Ctrl + F5. А в реальном веб-приложении, применяют http-заголовки или теги-<meta http-equiv/>, управляющие кешированием (это не всегда запрет кеширования, можно, например, кешировать страницы на полчаса): Expires, Cache-Control, Pragma, Last-Modified.


Не стойте на месте - ищите новые тупики :)

Отсутствует

 

№701-08-2012 22:28:14

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Firefox 3.6

Re: Кеширование содержимого веб страниц - проблема разработчика!

ru-vadik пишет

F5 достает страницу из кеша - источник страницы значения не имеет, диск это или сервер.

и так устроено во всех основных браузерах.


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№802-08-2012 04:25:09

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 17.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

CrazyPHP
Если Вы такое поведение кэширования заметили у одного браузера, можно просто запретить кэширование. Те браузеры, которые не кэшируют, так и не будут кэшировать, а те, которые кэшировали - перестанут. Вот на что я хотел намекнуть.

Отсутствует

 

№906-08-2012 02:41:55

CrazyPHP
Участник
 
Группа: Members
Зарегистрирован: 30-07-2012
Сообщений: 6
UA: Opera 12.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

okkamas_knife пишет
ru-vadik пишет

F5 достает страницу из кеша - источник страницы значения не имеет, диск это или сервер.

и так устроено во всех основных браузерах.

так устроено ТОЛЬКО В FIREFOX, что является вовсе не предсказуемым поведением. F5 - является командой обновления в windows и пользователь всегда ожидает именно ОБНОВЛЕНИЯ данных, а не считывания из кеша.

Если хотите получить актуальную копию, нажимайте Ctrl + F5.

И что я теперь должен пользователям сайта использующим firefox объяснять как через три колена обновляется страница? Вместо стандартного и привычного F5? Неужели это забота разработчика сайта?

А в реальном веб-приложении, применяют http-заголовки или теги-<meta http-equiv/>

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

Хватит это терпеть!

Отсутствует

 

№1006-08-2012 02:58:28

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 17.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

CrazyPHP
Учите матчасть. Если Ваша [opera] по F5 обновляет страницу без использования кэша, то это не значит, что так делают все браузеры.

Отредактировано littleleshy (06-08-2012 02:59:40)

Отсутствует

 

№1106-08-2012 03:08:49

CrazyPHP
Участник
 
Группа: Members
Зарегистрирован: 30-07-2012
Сообщений: 6
UA: Opera 12.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

littleleshy пишет

Учите матчасть. Если Ваша  по F5 обновляет страницу без использования кэша, то это не значит, что так делают все браузеры.

Эта мат.чать либо неактуальна либо намеренно кем то исправлена.

ВО ВСЕХ БРАУЗЕРАХ (Opera 12, IE9, Chrome 21) НА F5 СТРАНИЦА ОБНОВЛЯЕТСЯ! КРОМЕ FIREFOX.

Не верите? Попробуйте сами (есть пример выше).

:dumb:

и что вы мне вообще дали? это похоже внутренняя инструкция вики.

Отредактировано CrazyPHP (06-08-2012 03:43:32)

Отсутствует

 

№1206-08-2012 03:48:35

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 17.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

CrazyPHP пишет

ВО ВСЕХ БРАУЗЕРАХ (Opera 12, IE9, Chrome 21) НА F5 СТРАНИЦА ОБНОВЛЯЕТСЯ! КРОМЕ FIREFOX.

Не поленился и посмотрел. Основные браузеры:
IE | Chrome | Firefox
Посмотрите, что делает F5, а что делает Ctrl+F5.
У Opera вообще свой взгляд на это дело.

Ваши примеры прогнал в [firefox] 14, в [ie] 9 и в [chromium] 20. В первом примере поведение в [ie] и [firefox] одинаковое (как Вы и описываете), на втором примере в [firefox] наблюдается описанное Вами поведение. В остальном всё происходит так, как Вы хотите.

По второму примеру. Следующий код более "надёжен":

Выделить код

Код:

$("#rad_1").prop("disabled",false);
                $("#rad_2").prop("disabled",true);
                $("#rad_3").prop("disabled",true);
                $("#rad_4").prop("disabled",false);

Такое, казалось бы, непривычное поведение браузера понять можно. Команда отключить кнопку была, а команды включить не было. Хоть мы и пытались неявно сообщить браузеру, обновляя страницу, что всё нужно вернуть на место, наш "намёк" не сработал.

Вывод
В данном случае включённость/выключенность нужно задавать 1) только с помощью скриптов и 2) сразу или по отдельности, но для всех кнопок.

Отредактировано littleleshy (06-08-2012 04:34:58)

Отсутствует

 

№1306-08-2012 10:46:49

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Mozilla 1.9

Re: Кеширование содержимого веб страниц - проблема разработчика!

littleleshy
не корми.


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№1406-08-2012 14:00:45

CrazyPHP
Участник
 
Группа: Members
Зарегистрирован: 30-07-2012
Сообщений: 6
UA: Opera 12.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

Мы уяснили, что уникальная функция [firefox] "кеширование содержимомго веб-страниц", которая также кеширует состояния html элементов, да ещё и никаким образом не отключается в настройках, является сущим злом! По нажатию кнопки F5 во всех браузерах (даже если страница берётся из кеша) состояния элементов сбрасываются к дефолтным и яваскрипты выполняются заново, как это и должно быть. В то время как [firefox] присваивает элементам значения с прошлых визитов этой страницы, что препятствует нормальному выполнению яваскриптов.

Кончайте с этим бредом, отключите эту уродскую функцию.

Отредактировано CrazyPHP (06-08-2012 14:16:11)

Отсутствует

 

№1506-08-2012 14:08:06

LongLogin
Участник
 
Группа: Members
Зарегистрирован: 30-01-2011
Сообщений: 2083
UA: Firefox 12.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

CrazyPHP пишет

Кончайте с этим бредом, отключите эту уродскую функцию.

яволь, мой капитан

Отсутствует

 

№1606-08-2012 14:55:48

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Firefox 3.6

Re: Кеширование содержимого веб страниц - проблема разработчика!

какая боль..какая боль...(с):D

CrazyPHP пишет

Кончайте с этим бредом, отключите эту уродскую функцию.

кричите громче! а еще лучше устройте бойкот ФФ!:lol:


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№1706-08-2012 15:20:00

KooL
Участник
 
Группа: Members
Зарегистрирован: 23-12-2010
Сообщений: 1336
UA: Chrome 21.0

Re: Кеширование содержимого веб страниц - проблема разработчика!

Чего там за вопли, Опера только-только дробные проценты научилась распознавать, не прошло и 20 лет.

Отсутствует

 
  • Форумы
  •  » Firefox
  •  » Кеширование содержимого веб страниц - проблема разработчика!

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]