System.capabilities.serverString
actionScript, Cool Sites, Tutoriales | Marzo 6th, 2004Versión para imprimir
Éste es el valor de serverString en mi sistema:
A=t&MP3=t&AE=t&VE=t&ACC=f&DEB=t&V=WIN%206%2C0%2C21%2C0&M=Macromedia Windows&R=1024x768&DP=72&COL=color&AR=1.0&I=point&OS=Windows XP&L=es
En combinación con LoadVars.decode obtenemos una eficaz herramienta para trabajar con dichas variables.
miSistema = System.capabilities.serverString; mi_vars = new LoadVars(); mi_vars.decode(miSistema); for (var i in mi_vars) { trace(i+“:”+mi_vars[i]); }
Resultado tras aplicar LoadVars.decode()
L:es
OS:Windows XP
I:point
AR:1.0
COL:color
DP:72
R:1024x768
M:Macromedia Windows
V:WIN 6,0,21,0
DEB:t
ACC:f
VE:t
AE:t
MP3:t
A:t
Utilidad
Gracias a este script podemos determinar valores del sistema tales como el idioma, resolución de pantalla, sistema operativo, versión del player, etc. y redirigir a nuestro visitante a la versión adecuada del sitio.
Ejemplo
Detectar el idioma del sistema para cargar una versión adecuada del sitio
if (mi_vars.l == “es”) { trace(“Idioma = Español”); mc_holder.loadMovie(“espanyol.swf”); } else if (mi_vars.l == “en”) { trace(“Idioma = Inglés”); mc_holder.loadMovie(“ingles.swf”); }
Marzo 6th, 2004 at 4:45 pm
esto se ve muy util pero toni una duda el idioma que identifica es el del OS ??? una duda un poco tonta pero …..
saludos
Marzo 6th, 2004 at 8:56 pm
esto es en Mx o en Mx2k4 ??
Marzo 6th, 2004 at 10:25 pm
En efecto, el idioma es el que tengas en tu OS.
Provado con MX, pero no veo porque no ha de funcionar con 2004.
saludos
Marzo 6th, 2004 at 10:25 pm
Muy buena data!!
Muy util para determinar idiomas o resolucion del visitante
Marzo 7th, 2004 at 4:27 pm
Podrí as ser tan amable de especificarme que significan las vars I, AR, DEB, VE, AE, A?
Muchas gracias.
Marzo 7th, 2004 at 6:15 pm
Dejo la lista completa
System.capabilities.hasAccessibility nombre cadena = ACC
indica soporte para Microsoft Active Accesssibility
// –
System.capabilities.hasAudio nombre cadena = A
indica soporte para audio
// –
System.capabilities.hasAudioEncoder nombre cadena = AE
soporte para transmitir sonido (pe micrófono)
// –
System.capabilities.hasMP3 nombre cadena = MP3
soporte para MP3
// –
System.capabilities.hasVideoEncoder nombre cadena = VE
soporte para video
// –
System.capabilities.input nombre cadena = I
tipo de dispositivo de entrada
// –
System.capabilities.isDebugger nombre cadena = DEB
indica si el player es una versión release o debuger
// –
System.capabilities.language nombre cadena = LAN
idioma del sistema operativo
// –
System.capabilities.manufacturer nombre cadena = M
organización creadora del player
// –
System.capabilities.os nombre cadena = OS
System.capabilities.pixelAspectRatio nombre cadena = AR
ratio de un pixel en pantalla
// –
System.capabilities.screenColor nombre cadena = COL
modo soportado por la pantalla(color, escala de grises o blanco y negro)
// –
System.capabilities.screenDPI nombre cadena = DP
pixels por pulgadas (lo normal son 72)
// –
System.capabilities.screenResolutionX nombre cadena = R
ancho de la pantalla en pixels
// –
System.capabilities.screenResolutionY nombre cadena = R
alto de la pantalla en pixels
// –
System.capabilities.version nombre cadena = V
versión del player
Mayo 4th, 2004 at 11:24 pm
Y con esto serí a posible asignar un nuevo valor de resolucion?
es decir si tengo de resultado en resolucion
R:1024x768
y la reajusto a R:800x600 mediante una asignacion
cambiarí a la resolucion del monitor automaticamente a traves de ese comando?
o tendrí a que hacerlo mediante:
System.capabilities.screenResolutionX nombre cadena = R
ancho de la pantalla en pixels
// –
System.capabilities.screenResolutionY nombre cadena = R
alto de la pantalla en pixels
echame una mano please, es muy importante
gracias de antemano y un saludo
Mayo 5th, 2004 at 11:41 pm
Hola Jesús,
las propiedades del objeto capabilities, te ofrecen información acerca del entorno,lo que puedes hacer, como supongo ya habrás deducido es crear diferentes versiones y cargarlas dependiendo del valor de la propiedad. Tambien puedes utilizar el objeto Stage para acomodar tu pelí cula al tamaño del navegador, pero nunca modificar la resolución de pantalla (por lo menos desde flash).
Puedes leer estos artí culos sobre el objeto Stage que quizá te sean útiles:
http://www.after-hours.org/blog/archives/000285.html
http://www.after-hours.org/blog/archives/000286.html
http://www.after-hours.org/blog/archives/000287.html
http://www.after-hours.org/blog/archives/000293.html
http://www.after-hours.org/blog/archives/000297.html
saludos!
Mayo 6th, 2004 at 10:36 am
Una pena la verdad. Creia haber encontrado la solucion. Sin embargo, he oido algo sobre una API
que se llama FlashBox que en teorí a permitiria hacerlo. Alguien sabe como funciona?
Agosto 5th, 2004 at 6:08 am
Tengo una web realizada completamente en flash optimizada para resoluciones de 1024.
En el index de la web pongo únicamente un boton de Entrar .swf que linkea a un archivo web1.html que tiene el .swf de la web.
Lo que intento hacer es que:
* El boton de Entrar .swf detecte la resolucion de la pantalla y dependiendo de eso, al dar clic me cargue web1.html ó web2.html
web1.html contiene un .swf que se escala (para resoluciones de 800x600)
web2.html contiene un .swf que no se escala (para resoluciones de 1024 en adelante)
¿Se podrá hacer esto?
¿Como serí a?
¿Que código serí a en el boton?
Ayuda Porfavor
GRACIAS
Agosto 5th, 2004 at 10:40 am
Hola Misael,
copia este código en el primer fotograma de entrar.swf (quita el código que tengas para el botón de entrar)
// –
cargarSegunResolucion = function () {
ancho = System.capabilities.screenResolutionX;
switch (ancho) {
case 800 :
getURL("web1.html", “_self");
break;
case 1024 :
getURL("web2.html", “_self");
break;
default :
break;
}
};
// –
miboton.onRelease = cargarSegunResolucion;
// –
Saludos
Agosto 11th, 2004 at 4:44 am
Siguiendo con el tema de las resoluciones. Yo he creado una presentación en CD que se va a proyectar a través de un proyector de video a una resolución de 640x480.
Siguiendo el primer listado y viendo los resultados de las variables he decido comprobar el tamaño de pantalla del usuario y si es distinta a la que quiero aparezca un mensaje en pantalla.
Al principio hice esto:
miSistema = System.capabilities.serverString;
mi_vars = new LoadVars();
mi_vars.decode(miSistema);
for (var i in mi_vars) {
trace(i+":"+mi_vars[i]);
}
// En el fotograma número dos
if (mi_vars.R == “640x480″) {
gotoAndPlay ("Inicio");
} else {
trace (Cambie la resolución a 640x480);
}
Como sabéis R es el valor del tamaño de pantalla y la de así R:1024x768, pero no funciona. Por lo que cambié al siguiente código:
ancho = System.capabilities.screenResolutionX;
if (ancho == 640) {
gotoAndPlay ("Inicio");
} else {
trace (Cambie la resolución a 640x480);
}
Que si funciona. La primera opción me interesaba más por que puedo definir el tamaño de ancho y alto de la pantalla en una sóla sentencia. El motivo es que un usuario puede tener en pantalla 640x768, por lo que en mi caso me fastidiarí a un poco.
Se que la solución es controlar la altura con la sentencia:
altura = System.capabilities.screenResolutionY;
pero mi pregunta es ¿por que el primer listado no funciona?
Un saludo y gracias
NEXT
Agosto 11th, 2004 at 8:44 am
NEXT,
el primer listado funciona, me ha parecido raro que dijeras que no, por lo que lo he probado y si.
Saludos
Agosto 11th, 2004 at 10:12 am
No se lo probaré de nuevo.
Gracias
Next
Octubre 7th, 2004 at 4:04 pm
Hola, se podrí a hacer lo mismo para el idioma? Lo que quiero es que una vez detectado el idioma del sistema, mediante un boton, cambiar la variable del idioma para que el flash actúe como si de un sistema inglés se tratara. Es para usar la opción Strings del Flash 2004 (ventanas—> otros paneles —> cadenas —> comando + F11)
Un saludo y gracias
Octubre 7th, 2004 at 4:28 pm
Hola Chumbi, si, puedes usarlo para eso, precisamente etoy desarrolando un sistema para selección de idioma que además guarda el idioma seleccionado (en caso de que el usuario seleccione otro diferente al que marca el sistema) en un shraredObject.
Pruebas esto:
trace(System.capabilities.language )
devuelve : ‘es’
Saludos