PDA

Просмотр полной версии : проблема при обновлении страницы


Crom
05.07.2005, 19:32
Здраствуйте,

Столкнулся с проблемой. У меня на сайте висит маленькая флешка, кот. каждые x секунд конектится к php чтоб проверить есть ли новые вызовы по Instant Messanger или нет. Так вот, при загрузке страницы (если ты перешел по ссылке с дургой страницы нарпимер) все вроде бы ОК, флешка обращается к серверу, получает начальные данные и уже на основе их проиходит дальнейшая ее работа (на основе полученных данных она опять обращается к серверу, но ток к другой задаче).

Но теперь если нажать в Internet Explorer F5 или Alt F5 то флешка начинает глючить. Создается такое впечатление, что она уже не обращается к серверу что б получить начальные данные, и выдает совсем не тот результат. Такое впечатление что по F5 происходит загрузка флешки с кеша, и уже не идет обращение к серверу.

Кто подскажет как можно этого избежать, как сделать чтоб флешка не кешировалась (если я правильно понял что проблема именно в этом).

Зараннее спасибо

szheka
06.07.2005, 15:43
у меня схожая проблема (натолкнулся вчера) (( тоже по ссылке вс ок, после F5 - прогружаются не все элементы.

KidsKilla
06.07.2005, 15:46
ну ваще она и впрямь обращается к кешу =)

getURL("what/i/need.php?"+getTimer())

Crom
06.07.2005, 17:58
ну ваще она и впрямь обращается к кешу =)

getURL("what/i/need.php?"+getTimer())

Мне не совсем это нужно. Мне надо получить два значения для переменных, и для этого я пользуюсь функцией SendAndLoad. Как видите я добавил getTimer но толку ни какого. При этом нашел еще одну особенность, если в эксплорере поставить проверку на новую версию кэшированных даных "автоматически" = все ок. А если поставить "проверять при каждом обращении к сайту" то на F5 как раз и глючит.

var checkMess = new LoadVars();
checkMess.task = "checkMess";
checkMess.sendAndLoad("im/mess.php?random="+getTimer(), checkMess, "POST");
checkMess.onLoad = function() {
per = Number(checkMess.per);
userId = Number(checkMess.userId);
};

NDG
30.01.2007, 12:05
Пипл подскажите, что с кешем можно сделать? (те же траблы, что и у хозяина темы)

Kikasso
30.01.2007, 12:24
отправляй что-нибудь на сервер POST'ом, кешироваться не будет.
var checkMess = new LoadVars();
checkMess.task = "checkMess";
checkMess.rand = getTimer();
checkMess.onLoad = function(ok) {
if(ok) {
per = Number(this.per);
userId = Number(this.userId);
}
};
checkMess.sendAndLoad("im/mess.php", checkMess);

NDG
30.01.2007, 12:59
Если я не ошибаюсь кешируется не запрос, а мувиклип:
Когда ставлю в броузере, в Check for newer versions of stored page - "Automaticaly",- глючит. А сесли поставить Every visit to the page - все ок.
Запрос и в правду гетом делаю:

loadVariablesNum(_root.lnk); //_root.lnk = http://prel/fileSearch.php?section=2_4&id=5

Kikasso
30.01.2007, 14:07
loadVariablesNum ни в какие ворота вообще не лезет.
LoadVars решает.
Как заставить броузер грузить флешку заново - поищите на форуме, полно дискуссий.