2010-02-16 9 views
5

¿Es posible probar si el sistema operativo/navegador de un usuario admite un esquema de URL dado usando javascript (o cualquier otra cosa)?¿Es posible probar si el navegador/sistema operativo de un usuario admite un tipo determinado de enlace usando javascript?

Por ejemplo, mailto: no está configurado en la mayoría de la computadora del usuario que solo usa webmail. ¿Sería posible de alguna manera detectar intentos de hacer clic en un enlace de mailto y mostrar una explicación más descriptiva que el mensaje de error del navegador?

+0

No es que te ayude aquí, pero algunos navegadores (como Firefox) permiten a los usuarios configurar enlaces "mailto" para ir a su webmail, por lo que incluso si no tienen un cliente de correo electrónico (no de correo web), están DE ACUERDO. – Ken

+0

Sí, me gustaría poder ayudar a los usuarios de esos navegadores que no tienen configurado el correo para que puedan configurar su correo web para manejar el correo, pero es difícil porque no sé cómo encontrarlos, y los usuarios que no lo tienen configurado también son los usuarios que no van a buscar ayuda. –

Respuesta

1

¿Sería posible coger alguna manera los intentos de hacer clic en un enlace de correo y aparecerá una explicación más descriptivo que el mensaje de error del navegador?

No sé si se puede determinar si un navegador admite mailto: enlaces. Pero en cuanto a adjuntar lógica a los enlaces de mailto, puede recorrer los enlaces en la página y probar su valor href. Si comienza con "mailto:", puede adjuntar una ventana emergente al hacer clic en ella.

var maillinks = document.getElementsByTagName("a"); 
var (var i = 0; i < maillinks.length; i++) { 
    var currentlink = maillinks[i]; 
    if (currentlink.href.substring(0,7) === "mailto:") { 
    alert("Sorry. These aren't allowed."); 
    return false; 
    } 
} 

La única solución real que se me ocurre a este problema es para alojar su propia página de contacto, proporcionando un pequeño formulario que el usuario puede enviar.

+0

Desafortunadamente, parece que esto abriría la alerta de discapacidad tanto para los usuarios que admiten mailto como para los que no. –

+0

@williamjones: No fue una solución de copiar/pegar. Solo una demostración de conexión de lógica a los enlaces de mailto. La verdadera solución es crear su propia página de contacto, y proporcionar un pequeño formulario que pueda enviarse a través del sitio, en lugar de un cliente de correo electrónico local. – Sampson

2

En el caso general, no lo creo.

En el caso específico de mailto: - no.

Para resolver el problema que necesita describir necesita saber si el usuario tiene un cliente de correo electrónico configurado, no si el navegador admite mailto :. La mayoría de los navegadores admiten mailto :, y si el usuario no tiene un cliente configurado, aún 'funciona' (iniciando el cliente de correo electrónico y solicitando al usuario que lo configure).

+0

+1 Buena información. – Sampson

+2

Lo he intentado en IE y Firefox en una computadora sin mailto: configurado. En IE8, aparece un mensaje, "No se pudo realizar esta operación porque el cliente de correo predeterminado no está instalado correctamente". No es demasiado útil para un usuario que solo tiene correo web. En Firefox, hacer clic en el enlace parece no hacer nada, sin comentarios sobre cuál es el problema. –

Cuestiones relacionadas