Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   не работат setInterval (http://www.flasher.ru/forum/showthread.php?t=139854)

odlf3 13.05.2010 00:40

не работат setInterval
 
Всем привет!
Подскажите плз почему нет запроса к count.txt:

Код AS1/AS2:

this.loadVariables("counter.php?num="+random(999));
 
var intervalID:Number
 
/*onEnterFrame = function(){
        this.loadVariables("count.txt?num="+random(999));}*/

 
onLoad = function() {
        intervalID = setInterval(nag, 1000, this);
        trace("hello!");}
 
function nag() {
this.loadVariables("count.txt?num="+random(999));
trace("go");}

trace выводит все как надо, а this.loadVariables("count.txt?num="+random(999)); - мимо проходит как будто ее там и нет.
Если использовать onEnterFrame, то все работает, но мне бы не хотелось так часто делать запросы.
Подскажите как быть в такой ситуации?!

mooncar 13.05.2010 02:23

Поясните, что вы имеете ввиду этим куском:
Код AS1/AS2:

onLoad = function() {
        intervalID = setInterval(nag, 1000, this);
        trace("hello!");}

Что это за обработчик и зачем он вам нужен тут?

А вообще - не используйте loadVariables.
Код AS работает асинхронно, а loadVariables не дает событий, по которым можно судить о готовности загрузки данных.
Откройте хелп и посмотрите класс LoadVars, он давным-давно пришел на смену loadVariables.
У него есть события onLoad и onData, которые можно использовать для отслеживания события загрузки данных из файла. Что у вас тут делает onLoad, мне не понятно.

Как и не понятно, если вам нужно обращаться к файлу один раз, зачем вам onEnterFrame или setInterval?
Вообще, что вы хотите?

odlf3 13.05.2010 02:44

дело в том что это счетчик посетителей.
this.loadVariables("count.txt?num="+random(999)); - нужен для того что бы проверять сколько их в данный момент(т.е. пользователь сидит на сайте и у него тикают посетителе которые тоже зашли в данный момент на сайт).
onLoad - для того что бы функция запускалась при старте флеш.(кстати может быть есть гораздо проще вариант..)
LoadVars - с этим классом не знаком, спасибо за подсказку, гляну что и почему...

mooncar 13.05.2010 02:50

Вот недавно разбирались, посмотрите:
http://www.flasher.ru/forum/showthread.php?t=139795
Вложение посмотрите в посте №10.
Не забудьте про Math.random() для предотвращения кэширования и кодировку.

udaaff 13.05.2010 02:59

Код AS1/AS2:

setInterval(this, "nag", 1000);


odlf3 13.05.2010 03:13

Спасибо Вам Огромное, все работает как часики.
P.S. побольше бы таких людей...

Добавлено через 52 минуты
Извините, если не трудно подскажите еще как сделать чтоб флешка не кешилась?!

rainbowrussia 13.05.2010 04:13

Цитата:

Сообщение от odlf3 (Сообщение 907870)
Извините, если не трудно подскажите еще как сделать чтоб флешка не кешилась?!

Зависит от того как вы ее загружаете. Общий смысл - к path/to/fleshka.swf нужно добавить случайное значение, чтобы получилось path/to/fleshka.swf?randomvalue

Например (javascript):

Код:

var swfname = "fleshka.swf?" + Math.random();


Часовой пояс GMT +4, время: 19:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.