Recoger datos del sistema (color, fuentes disponibles, etc.)

 
Esto lo podemos hacer con un ActiveX llamado "Dialog Helper". Este ActiveX llama a la librería encargada en Windows de mostrar los cuadros de dialogo correspondientes al color, las fuentes, los formatos de estilo y los conjuntos de caracteres disponibles, por lo que sólo esta disponible en Internet Explorer (a partir de la versión 6.0).

Este objeto dispone de dos colecciones:

dialogHelper.blockFormats(índice)
Contiene los formatos de bloque disponibles en el sistema operativo. Muestra el nombre del formato de bloque situado en la posición de la colección pasado por el índice.
También dispone de la propiedad count que muestra el número de elementos de la colección


dialogHelper.fonts(índice)
Contiene las fuentes disponibles en el sistema operativo. Muestra el nombre de la fuente situado en la posición de la colección pasado por el índice.
También dispone de la propiedad count que muestra el número de elementos de la colección


Y de dos métodos:

dialogHelper.ChooseColorDlg(color)
Llama al dialogo de selección de color y devuelve su valor en un número entero. Puede recibir un valor opcional que sería el color por defecto en caso de que el usuario no seleccione ningún color


dialogHelper.getCharset(nombre_fuente)
Devuelve un identificador de tipo de conjunto de caracteres para un tipo de fuente pasado por su nombre. Los posibles valores que puede devolver son:

ValorJuego de caracteres
0ANSI
1DEFAULT
2SYMBOL
77MAC
128SHIFTJIS
129HANGEUL ó HANGUL
130JOHAB
134GB2312
136CHINESEBIG5
161GREEK
162TURKISH
163VIETNAMESE
177HEBREW
178ARABIC
186BALTIC
204RUSSIAN
222THAI
238EASTEUROPE
255OEM



En el ejemplo hemos presentado 3 funciones:

dlgFormatos: Que presenta un listado de los diferentes formatos disponibles con "blockFormats"
dlgFuentes: Que presenta un listado de las diferentes fuentes y además entre paréntesis, el grupo del juego de caracteres al que pertenecen con "fonts" y "getCharset".
dlgColor: Llama al dialogo de selección de color para recoger un color con "ChooseColorDlg". Cambia el color del fondo con este color.

Por último mencionar la utilización del objeto "Dialog Helper". Lo hemos añadido al principio del body y como se ve por sus propiedades "width" y "height", no ocupa espacio, por lo que se puede insertar en cualquier sitio.
Para llamarlo se puede hacer como con cualquier otro objeto con "document.getElementById"


En el HEAD:
<script type="text/javascript">
    // Su explorador no soporta java o lo tiene deshabilitado; esta pagina necesita javascript para funcionar correctamente<!--
    // Copyright © McAnam.com
    // http://www.mcanam.com/articulos/JavaScript.php?id=26
    
    function dlgFormatos(){
        
        if (document.getElementById("dialogHelper").blockFormats)
        {
            var texto = "Los formatos disponibles en su máquina son:\n";
            
            for (var cont = 1 ; cont <= document.getElementById("dialogHelper").blockFormats.count ; cont++)
                var texto = texto + cont + " - " + document.getElementById("dialogHelper").blockFormats(cont) + "\n";
                
            alert(texto);
        }
        else
        {
            alert("Función no disponible en su navegador");
        }
    }
    
    function dlgFuentes(){
        
        
        if (document.getElementById("dialogHelper").fonts)
        {
            var texto = "Las fuentes disponibles en su máquina son (entre paréntesis el tipo de fuente):\n";
                
            for (var cont = 1 ; cont <= document.getElementById("dialogHelper").fonts.count ; cont++){
                    
                fuente = document.getElementById("dialogHelper").fonts.item(cont);
                charset = document.getElementById("dialogHelper").getCharset(fuente);
                    
                texto = texto + cont + " - " + fuente + "(" + charset + ")\t";
            }
            alert(texto);
        }
        else
        {
            alert("Función no disponible en su navegador");
        }
            
        
            
    }
    
    function dlgColor(){
        
        
        if (document.getElementById("dialogHelper").ChooseColorDlg)
        {
        
            var iColor = document.getElementById("dialogHelper").ChooseColorDlg(0xFFFFFF);
            
            alert("El color seleccionado es:" + iColor.toString(16));
            
            document.body.style.backgroundColor = iColor;
        }
        else
        {
            alert("Función no disponible en su navegador");
        }
    }
    
    //-->
</script>

En el BODY:
<object name="dialogHelper" id="dialogHelper" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0" height="0"></object>
<input type="button" value="Mostrar formatos" onclick="dlgFormatos()" /><br />
<input type="button" value="Mostrar fuentes / tipo" onclick="dlgFuentes()" /><br />
<input type="button" value="Modificar color de fondo" onclick="dlgColor()" />

Ejemplo:

Links relacionados:
Conocer datos del usuario
Establecer el juego de caracteres para nuestra página (HTML)
Ejecutar comandos del navegador con execCommand
Crear un editor de páginas HTML
Saber posición (coordenadas) del ratón
Añadir página a Favoritos
establecer tu página como la página de inicio del usuario
Cookies, crear cookies, ver valores de las cookies


Para cualquier duda, consulta, sugerencia, opinión, colaboración, etc; no dude en ponerse en contacto con nosotros

Copyright © 2002-2017 [McAnam]. Reservados todos los derechos.
www.mcanam.com