Форум 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)
-   -   есть ли событие которое наступает при закрытии swf - ролика? (http://www.flasher.ru/forum/showthread.php?t=115325)

kampil 26.08.2008 19:35

есть ли событие которое наступает при закрытии swf - ролика?
 
Здравствуйте. Возник такой вопрос: а можно ли отловить событие которое наступает при закрытии ролика? т.к. мне нужно при закрытии ролика послать данные php - скрипту.

Zik. 26.08.2008 19:50

отследить как мне известно нельзя, но если у вас закрытие наступает при нажатии кнопки, то и отсылайте в это время скрипт php

etc 26.08.2008 19:51

Нет такого события.

Мечтатель 26.08.2008 19:57

Если Вы грузите один swf-файл в другой, используя функцию loadMovie, то - Да.
Например чтобы обратиться к swf файлу, используйте путь к "мувику" в который его грузили. Затем удаляя "мувик" - можете отловить событие, используя обработчик "onUnload"... Но это событие происходит при удалении мувика, а не при закрытии ролика.

kampil 26.08.2008 20:09

Огромное спасибо, теперь я точно уяснил что это всё же сделать нельзя и очень странно что этого не предусмотрели во Flash ведь это очень важное событие...а насчёт onUnload он работает только при проигрывании при удалении с временной диаграммы, блин могли бы они и к _root привязать это событие.
Тогда последний вопрос,: я делаю небольшой чат для форума(мини чат) так вот делаю его с помощью LoadVars и я просто хотел отобразить список юзеров которые в онлайн если юзер уходит нажимая при этом на созданную мною конпку выход, я передаю его ник php - скрипты а скриптом уже удаляю его ник из текстового файла, а если юзер просто закрыл браузер, то уже никак это не отловить да? т.е. лучше наверное сделать через XMLSocket и не париться да?

2morrowMan 26.08.2008 20:38

Как клиент чата получает новые сообщения юзеров?

kampil 26.08.2008 21:22

Цитата:

Сообщение от 2morrowMan (Сообщение 760404)
Как клиент чата получает новые сообщения юзеров?

Ну просто через определённый интервал времени я передаю запрос php скрипту который считывает 15 последних сообщений из файла и передаёт во Flash эти сообщения.

zhalex 26.08.2008 21:40

так вот сделай просто что если юзер давно не запрашивал последних 15 сообщений то он OFFLINE, а если недавно запришивал, то он ONLINE.

kampil 26.08.2008 21:58

да спасибо, это неплохой вариант

Wolsh 26.08.2008 23:08

Чёто я вообще ничего не понял, разъясните мне пожалуйста. Например,
1) как Вы собираетесь закрыть ролик? Может Вы имели ввиду закрыть окно/вкладку в браузере? Или спрятать ролик средствами джаваскрипт?
2) как ЗАКРЫТЫЙ ролик может отправить данные? Разве только джаваскрипт на странице может отловить закрытие и послать сообщение РНР.
3) закрытие конечно важное событие для ролика, он ведь при нем умирает. Зачем ему нужно событие, которое он уже никогда не сможет обработать?

Заварка 23.10.2008 15:28

3) как зачем?
вот я столкнулся с проблемой, когда мне надо при закрытии ролика запомнить на каком фрейме проигрывается ролик, чтобы записать номер кадра в shared object, а при повторном открытии прочитать shared object и запустить ролик с того места, где закончили просмотр.

какое мне событие использовать чтобы сохранить номер кадра? :(

Wolsh 23.10.2008 16:01

onEnterFrame разумеется. Как Вы собираетесь обрабатывать событие, если бы оно было, ЗАКРЫТЫМ роликом?

Заварка 23.10.2008 16:46

не получается что-то у меня :((
вы не могли бы подсказать, наверное я не правильно сохраняю текующий кадр....
Код:

onClipEvent (load) {
        total = _root.getBytesTotal();
}

onClipEvent (enterFrame) {
        loaded = _root.getBytesLoaded();
        percent = int(loaded/total*100);
        text = percent+"%";
        gotoAndStop(percent);
        if (loaded == total) {

                var my_so:SharedObject = SharedObject.getLocal("newSharedObject");
                h = false;

                if (!h) {
                        if (my_so.data.myVar) {
                                var _t:Number = my_so.data.myVar;
                                _root.gotoAndPlay(_t);
                                h = true;
                        } else {
                                _root.gotoAndPlay(1);
                        }
                } else {
                        my_so.data.myVar = _currentframe;
                }
        }
}


Wolsh 23.10.2008 18:28

Четвертый Флэш? Не, не подскажу. Я в те времена еще тущью рисовал.

Заварка 23.10.2008 18:47

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


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

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