PDA

Просмотр полной версии : Internet Explorer не выполняет loadVariablesNum


grifanuil
18.05.2009, 22:50
Здравствуйте Уважаемые флешеры. Появилась проблема, незнаю как решить?
Изготовил небольшую детскую игрушку для пользователей сети и решил сделать для этой игрушки рейтинг победителей. Использовал внешние источники данных (txt), серверные команды (php), во флеш клипе при сохранении и загрузке переменных (данные игрока и очки) используется loadVariablesNum, практически всё как в гостевой книге, единственная разница в том что сохранение происходит при прохождении одного кадра, а загрузка данных при прохождении другого каждра, дополнительно есть кнопка для загрузки СВЕЖИХ данных.
В принципе всё работает нормально, но при тестировании онаружилось что в Internet Explorer загрузка свежих данных происходит через час примерно, а в опере всё происходит идиально.
Вопрос: что это такое с Explorer(ом) и как с этим боротся чтобы и в Explorer(е) тоже всё происходило как положенно вовремя.
Я предпологаю что в Explorer(е) както переменные не обновляются, и это только мои предположения, мож. кто с этим уже сталкивался?

Mnilionic
18.05.2009, 23:40
1. запросы кешируются
2. вместо loadVariablesNum используйте класс LoadVars()

grifanuil
21.05.2009, 21:59
к сожалению при использовании класса LoadVars() ещё хуже - даже опера перестала загружать свежие данные, уважаемые друзья - помогите как исправить проблему

dimarik
22.05.2009, 01:06
К сожалению, по традиции все наши телепаты в очередных отпусках. И, к сожалению, мы не можем понять что есть "еще хуже" при использовании LoadVаrs класса. Поверьте, это тот класс, что Вам нужнен. Опишите конкретнее, что не работает-то =)

mooncar
22.05.2009, 01:23
Тоже были проблемы с "необновлением" данных.
Использую вот такую конструкцию повсеместно, и сразу все проблемы с необновлением данных прекратились, где дело касалось кэширования:
QUERY = new LoadVars();
QUERY.onLoad = function(success:Boolean) {
if (success) {
//действия после загрузки данных
}
}
QUERY.load('http://www.domain.ru/script.php?var1=' + value1 + ....+ '&varN=' + valueN + '&r='+Math.random());

grifanuil
25.05.2009, 00:27
Исходя из выше указанного, я представляю это так:
в пхп (1.php) у меня указанна команда:

<?
$fp = fopen("ima1.txt","r");
$pp = fread($fp, 100);
fclose( $fp );
print "ima1=$pp"."&";
$fs = fopen("reting1.txt","r");
$ps = fread($fs, 100);
fclose( $fs );
print "reting1=$ps";
?>

в клипе у меня текстовые поля используют для загрузки свежих данных две переменные: ima1, reting1
а в классе я пишу:

('1.php?ima1=' + pp + '&reting1=' + ps + '&r='+Math.random());

я правельно понимаю?

Добавлено через 10 минут
а для чего вотэта ____'&r='+Math.random()____

dimarik
25.05.2009, 00:40
в клипе у меня текстовые поля используют для загрузки свежих данных две переменные: ima1, reting1


Не используйте для текстовых полей пременные.

я правельно понимаю?

Почти правЕльно (http://gramota.ru/slovari/dic/?word=%EF%F0%E0%E2%E8%EB%FC%ED%EE&all=x)

mooncar
25.05.2009, 02:09
а для чего вотэта ____'&r='+Math.random()____
Это как раз для предотвращения кэширования - в переменная r, входящая в строку запроса к скрипту, принимает случайное значение, и браузер вынужден обратиться на сервер, а не к кэшу, так как URL, получившийся в результате, в индексе его кэша не значится.

grifanuil
26.05.2009, 00:08
Всем огромное спасибо, всё получилось!!!