Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas
Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas

sábado, 10 de septiembre de 2011

Mostrar aviso si Javascript no activo

Es habitual que en las páginas web se incluyan widgets realizados en Javascript, a veces están directamente en el código de la web y otras mediante archivos que contienen el código.

Estos widgets cumplen distintas funciones que a veces le interesa al webmaster (por ejemplo un Contador de visitas, Estadísticas, ...) y otras veces son incluidas para atraer la atención o mejorar la interacción con el visitante (por ejemplo un Traductor, Slide de imágenes, Publicidad, ...).

Son muchos los casos en los que los internautas desactivan/bloquean el Javascript de su navegador (por ejemplo para evitar que se abran automáticamente decenas de ventanas con publicidad no deseada). Es por esto que las webs deberían al menos avisar de algún modo al internauta que debe activar el Javascript.

Este es el código que yo utilizo (creado por mi) para avisar cuando el navegador no tiene activo JavaScript:


<noscript>
<p style="font-weight:bold; font-style:italic;color:red">Aviso</p>
<p>Para visualizar correctamente el contenido de esta web, necesitas tener activado <span style="font-weight:bold; font-style:italic;">JavaScript</span>.</p>
<p>Para más información sobre como activar JavaScript en su navegador, visita <a href="https://www.google.com/adsense/support/bin/answer.py?hl=es&answer=12654">esta página</a>.
<p style="font-weight:bold; font-style:italic;color:red">Warning</p>
<p>To properly view the content of this website, you need <span style="font-weight:bold; font-style:italic;">JavaScript</span> enabled.</p>
<p>For more information on how to enable JavaScript in your browser, visit <a href="https://www.google.com/adsense/support/bin/answer.py?hl=en&answer=12654">this page</a>.</p>
</noscript>

Si quieres ver como funciona, solo tienes que desactivarlo, recargar la página y ver el mensaje en la parte superior derecha.

viernes, 12 de septiembre de 2008

JavaScript - Detectar idioma del navegador


Una de las cosas que estoy aprendiendo en la realización de la nueva versión del traductor (¡espero tenerlo listo pronto!), es el lenguaje de programación JavaScript. Ya había realizado algún curso on-line y también había leído algo de documentación sobre JavaScript pero ahora estoy profundizando más en este lenguaje y debo decir que tiene mucha potencia y da bastante juego para hacer cosas.


Una de las cosas que he aprendido (en la red) y gracias a un par de buenas páginas Quirks Mode | Javascript - Object detection y How To Create | W3C DOM introduction, es la técnica del 'Object Detection' (Detección del Objeto). Esta técnica permite realizar diferentes acciones indistintamente del navegador y versión que se esté utilizando al visitar una página web.


En la red he visto distintas técnicas y códigos, y debo decir que la que realmente funciona para detectar el idioma del navegador, es la utilización de las propiedades 'navigator.language' y 'navigator.browserLanguage' de los navegadores.


El código sería el siguiente ...


var idiomaNavegador = new String;
if (navigator.language){
idiomaNavegador = navigator.language;
} else {
idiomaNavegador = navigator.browserLanguage;
}


Si queremos podemos crear una Función JavaScript que devuelva el idioma del navegador ...


function skDeterminarIdiomaNaveg() {
var idiomaNavegador = new String;

if (navigator.language){
idiomaNavegador = navigator.language;

// En este caso, el idioma devuelto puede contener el
// subcódigo de idioma (p.ej. "es-ES").
} else {
idiomaNavegador = navigator.browserLanguage;

// En este caso, el idioma devuelto solo conteniene el
// código de idioma (p.ej. "es")
}
return idiomaNavegador;
}

... y por ejemplo podríamos hacer que se muestre un mensaje con el idioma del navegador ...


var i = skDeterminarIdiomaNaveg();
alert('El idioma del navegador es \'' + i + '\'');


Es importante mencionar que los Códigos de Idioma están definidos bajo el ISO639, por lo que todos los navegadores deberían cumplir dicho estándar. Para más información sobre los Códigos y Subcódigos de Idioma, visitar la siguiente página W3C - Language codes

















JavaScript probado con los siguiente navegadores
NavegadoresEventoEjemplo
NombreVersion
Mozilla FireFox2.0navigator.languagees-ES
Mozilla FireFox3.0navigator.languagees-ES
Opera9.5navigator.languagees-LA
Safari3.1navigator.languagees-ES
Internet Explorer6.0navigator.browserLanguagees
Internet Explorer8.0navigator.browserLanguagees
Google Chrome0.2navigator.languagees-ES
SpaceTime3D1.0navigator.browserLanguagees
Konqueror4.0navigator.languagees