OVH Cloud OVH Cloud

Détecter environnement auteur

1 réponse
Avatar
Okimi
Bonjour,

Je cherche un moyen pour déterminer si mon animation s'execute dans
l'environement de développement ou sur une page web.

Merci

1 réponse

Avatar
ekameleon
Hello :)

Maintenant je me méfie lol Tu parles bien d'une animation Flash ? :)

Si oui tu peux utiliser ce genre de code :

[code]

/* ------ Application

AUTHOR

Name : Application
Package : vegas.system
Version : 1.0.0.0
Date : 2005-09-15
Author : ekameleon
URL : http://www.ekameleon.net
Mail :

STATIC METHOD SUMMARY

- Application.isWeb : renvoie true si le fichier SWF est chargé
dans une page web avec le protocole HTTP ou HTTPS.


- Application.isOnline : renvoie true si le fichier SWF est chargé
depuis internet avec n'importe quel protocole (HTTP, HTTPS ou FTP).

- Application.isLocal : renvoie true si le fichier SWF est chargé
depuis un fichier local (c-a-d utilisation du protocole FILE).

- Application.isLocalWeb : renvoie true si le fichier est local et si
on peut detecter
la présence d'un moyen de communication entre le player flash et une
aide a l'accessiblité.
Note : fonctionne avec IE sur windows, non testé autres
navigateurs et autres systemes.

- Application.isProjector : renvoie true, si le fichier est local mais
n'est ni le flash IDE ni une page web locale.

- Application.getIDEPath : renvoie le chemin du logiciel d'authoring Flash
si le fichier SWF est détecté étant en mode IDE.

SEE ALSO

ApplicationType

THANKS

Zwetan NG > Burrrn.com [FMX] flash dans plusieurs environnements.

------ */

import vegas.system.ApplicationType ;

class vegas.system.Application {

// ----o Author Properties

static public var className:String = "Application" ;
static public var classPackage:String = "vegas.system";
static public var version:String = "1.0.0.0";
static public var author:String = "ekameleon";
static public var link:String = "http://www.ekameleon.net" ;

// ----o Constructor

private function Application() {}

// ----o Methods

static public function getFullPath():String {
return _level0._url ;
}

static public function getProtocol():String {
return Application.getFullPath().split("://")[0] ;
}

static public function isFlashIDE():Boolean {
return( _level0.$appPath != null );
}

static public function isWeb():Boolean {
var protocol:String = Application.getProtocol();
return( (protocol == ApplicationType.HTTP) || (protocol ==
ApplicationType.HTTPS) ) ;
}

static public function isOnline():Boolean {
var protocol:String = Application.getProtocol() ;
return ( (protocol == ApplicationType.FTP) || Application.isWeb() );
}

static public function isLocal():Boolean {
var protocol:String = Application.getProtocol();
return( protocol == ApplicationType.FILE );
}

static public function isLocalWeb():Boolean {
var activeX = System.capabilities.hasAccessibility ;
return( Application.isLocal() && (activeX == true) ) ;
}

static public function isProjector():Boolean {
return(
Application.isLocal() &&
!Application.isFlashIDE() &&
!Application.isLocalWeb()
) ;
}

static public function getIDEPath():String {
return (Application.isFlashIDE()) ? _level0.$appPath : "" ;
}

}

[/code]

Il manque juste la classe ApplicationType

[code]

/* ------ ApplicationType

AUTHOR

Name : ApplicationType
Package : vegas.system
Version : 1.0.0.0
Date : 2005-09-15
Author : ekameleon
URL : http://www.ekameleon.net
Mail :

CONSTANT SUMMARY

- FILE:String

"file"

- FTP:String

"ftp"

- HTTP:String

"http"

- HTTPS:String

"https"

------ */

class vegas.system.ApplicationType {

// ----o Author Properties

static public var className:String = "ApplicationType" ;
static public var classPackage:String = "vegas.system";
static public var version:String = "1.0.0.0";
static public var author:String = "ekameleon";
static public var link:String = "http://www.ekameleon.net" ;

// ----o Constructor

private function ApplicationType() {}

// ----o Static Properties

static public var FILE:String = "file" ;
static public var FTP:String = "ftp" ;
static public var HTTP:String = "http" ;
static public var HTTPS:String = "https" ;

static private var __ASPF__ = _global.ASSetPropFlags(ApplicationType,
null , 7, 7) ;

}

[/code]

C'est un code inspiré d'une classe de Zwetan
(http://www.zwetan.com/blog/) , voir les remerciements dans la classe au
dessus :)

Tu peux donc adapter ce code (si tu as pas besoin des classes AS2
etc.... le code est assez simple en fin de compte)

EKA+ :)




Okimi a écrit :

Bonjour,

Je cherche un moyen pour déterminer si mon animation s'execute dans
l'environement de développement ou sur une page web.

Merci