SCRIPT.com.ua
Логин: Пароль:
Регистрация Забыл пароль
ИСХОДНИКИ
Поиск
Новости
Материалы
Работа с WDDX в РНР [PHP]
Рецепт по установке web-сервера под Windows [PHP]
Инициализация для Flash Player 8 Beta [Flash]
Криптование [Action Script]
Настрока Homesite под Action Script [Action Script]
Учитесь писать код правильно [PHP]
Пасхальные яйца. [Action Script]
Flash-игры: проще, если знаешь как [Flash]
Установка Ming под win32 Apache+PHP [Action Script]
Wysiwyg HTML Редакторы [DHTML]
Исходники
"Объект" на JavaScript - аналог AsBroadcaster [DHTML]
Запрет кэширования [HTML]
Полупрозрачные картинки, которые 'востанавливаются' при наведении. [DHTML]
Новостная лента v1.2.1 [PHP]
Обход XML-дерева [Action Script]
CDATA и комментарии [XSL]
Кроссразмерный полноэкранный режим [Action Script]
KeyListener [Action Script]
Редирект [HTML]
Текстовый узел [XSL]
Лаборатория
Документация
Файлы
Ссылки
Пользователи
Контакты
Наш выбор
F.E.A.R. jewel
Наши партнеры
Суббота, 18 Февраля, 2006
"Объект" на JavaScript - аналог AsBroadcaster [DHTML / Разное]
//файл class.jsbroadcaster.js
function JsBroadcaster(){
        this._nameSignature = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
}
function JsBroadcaster_initialize(obj){
        obj.addListener = this.addListener;
        obj.removeListener = this.removeListener;
        obj.broadcastMessage = this.broadcastMessage;
        obj.generateNameSignature = this.generateNameSignature;
        obj._nameSignature = this._nameSignature;
        obj._listeners = new Object();
}
JsBroadcaster.prototype.initialize = JsBroadcaster_initialize;
function JsBroadcaster_addListener(obj){
        this.removeListener(obj);
        var name = this.generateNameSignature();
        this._listeners[name] = obj;
        obj._broadcastName = name;
        return true;
}
JsBroadcaster.prototype.addListener = JsBroadcaster_addListener;
function JsBroadcaster_removeListener(obj){
        if(!obj._broadcastName) return false;
        this._listeners[obj._broadcastName] = null;
        delete this._listeners[obj._broadcastName];
        obj._broadcastName = null;
        return true;
}
JsBroadcaster.prototype.removeListener = JsBroadcaster_removeListener;
function JsBroadcaster_broadcastMessage(_event){
        var args = new Array();
        for(var i=1; i<arguments.length; i++) args.push(arguments[i]);
        if(!_event) return false;
        for(var p in this._listeners){
                var obj = this._listeners[p];
                obj[_event].apply(obj, args);
        }
        return true;
}
JsBroadcaster.prototype.broadcastMessage = JsBroadcaster_broadcastMessage;
function JsBroadcaster_generateNameSignature(){
        var name = '';
        for(i=0; i<20; i++){
                name += this._nameSignature[Math.floor(Math.random()*this._nameSignature.length)];
        }
        return name;
}
JsBroadcaster.prototype.generateNameSignature = JsBroadcaster_generateNameSignature;

// использование, почти так же, как и в AS, за исключение того, что
// нужно сначала создать объект:
        document.broadcaster = new JsBroadcaster();
        // это объект для видеоплеера можно посмотреть на
        // http://www.models-ua.com/designer/videoplayer_fs/
        // там в плеере нужно нажать "fullscreen"
        document.player = new Player('video_player');
        document.broadcaster.initialize(document.player);
        player_listener = new Object();
        player_listener.onChangeMode = function(isFullscreen){
                /* some code here */
        }
        document.player.addListener(player_listener);
Опубликовал: Syo (7:46) | комментарии [0]
< назад

Вверх © Copyright 2004-2014 Script.com.ua



Версия для печати