Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Skype Detection (http://www.flasher.ru/forum/showthread.php?t=156838)

miki 27.05.2011 14:16

Skype Detection
 
У меня в проекте есть номера телефонов, при клике делаю
Код AS3:

navigateToURL( new URLRequest('skype:'+nomer_telefona), '_blank' )

Если скайп не установлен то:
  1. в мозиле - открывается новая вкладка и пишет "Firefox не может определить, как открыть данный адрес, так как протокол (skype) не связан ни с одним приложением."
  2. в опере - ошибка открывается в текущем окне, тойсть заменяет мой проект.
Я хочу при клике сначала узнать установлен ли скайп, есть утилита http://api.skype.com/detection/detection_as3.swf
можно ли как то ее использовать??? например, загрузить ее Loader-ом, а потом
Код AS3:

loader.contentLoaderInfo.applicationDomain.getDefinition("Detection")


etc 27.05.2011 14:56

com.skype.detection::Detection

miki 27.05.2011 14:59

обясни, а то я что-то не понял

etc 27.05.2011 15:06

Это имя класса, которое нужно передать в getDefinition.

miki 27.05.2011 15:10

ссылку на класс я получил
Код AS3:

 import flash.display.*;
 import flash.net.URLRequest;
 
 var url:String = "http://api.skype.com/detection/detection_as3.swf";
 var urlReq:URLRequest = new URLRequest(url);
 
 var loader:Loader = new Loader();
 loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
 loader.load(urlReq);
 addChild(loader);
 
 function getClass(className:String):Class
 {
        try
                {
            return loader.contentLoaderInfo.applicationDomain.getDefinition(className)  as  Class;
        }
                catch (e:Error)
                {
 
            throw new IllegalOperationError(className + " definition not found in ");
        }
        return null;
  }
 
 function completeHandler(e:Event):void
 {
        trace("loaded");
        var myClass:Class = getClass("com.skype.detection::Detection");
        trace(myClass.isInstalled());
 }

теперь пишет
Цитата:

Монтажный кадр 1, слой "Слой 1", кадр 1, строка 30 1180: Вызов предположительно неопределенного метода isInstalled.

etc 27.05.2011 15:17

Это свойство, а не метод.

miki 27.05.2011 15:34

это точно метод
Код AS3:

 
public function isInstalled() : Boolean
        {
            return installed;
        }// end function


etc 27.05.2011 15:40

А, ну да. Так это же метод экземпляра, а не класса.

miki 27.05.2011 16:29

Вложений: 1
сделал, ошибок нету - но не правильно выводит

etc 27.05.2011 16:37

Код AS3:

 import flash.display.*;
 import flash.net.URLRequest;
 import flash.events.Event;
 
 var url:String = "http://api.skype.com/detection/detection_as3.swf";
 var urlReq:URLRequest = new URLRequest(url);
 
 var loader:Loader = new Loader();
 loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
 loader.load(urlReq);
 
 function completeHandler(e:Event):void
 {
        super.addEventListener(Event.EXIT_FRAME, this.exitFrameHandler);
 }
 
 function exitFrameHandler(e:Event):void {
        super.removeEventListener(Event.EXIT_FRAME, this.exitFrameHandler);
        var temp:Object = loader.content as Object;
        this.status.text = temp.installed;
 }



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

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