Abrir un enlace de correo desde JavaScript.
Publicado por Marivi (1 intervención) el 24/01/2009 19:51:32
Hola. Tengo en una pagina un pequeño javascript para abrir un enlace de correo, como se ve a continuacion:
<script language="javascript" type="text/javascript">
function abrirCorreo(destinatario, servidor, asunto) {
var enlace = "";
enlace="mail"+"to:"+destinatario+"@"+servidor+"?subject="+asunto;
location.href=enlace;
}
</script>
La llamada a la función se hace desde un enlace de la página, como el siguiente:
Para mandar un mensaje <a href="javascript:abrirCorreo('destinatario','gmail.com','prueba');">pulsa aquí</a>
El objetivo de esto es prevenir la localización de enlaces de correo por parte de robots de spam. El caso es que el script funciona perfectamente en Internet Explorer 8, en Flock 1.2.6, en opera 9, en Netscape 9 y en Safari 3.1.1, todos ellos en entorno Windows, pero en Firefox 3 no funciona. Al pulsar el enlace, en la consola de errores se generan los siguientes mensajes:
Permiso para obtener la propiedad Object.protocolFlags denegado
http://localhost/pruebaCorreo.htm
Error de seguridad: el contenido en http://localhost/pruebaCorreo.htm no puede cargar o enlazar con mailto:[email protected]?subject=prueba.
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.href]" nresult: "0x80004005 (NS_ERROR_FAILURE)" location:"JS frame :: http://localhost/pruebaCorreo.htm :: abrirCorreo :: line 10" data:no]
Estos tres mensajes se generan en el momento de pulsar el enlace (ya me he asegurado de que, previamente, la consola de errores estuviera limpia). Me consta que es debido a algún mecanismo de seguridad diseñado para impedir que se abra un enlace de este tipo. No obstante, me gustaría saber si hay alguna manera de obviarlo, para que Firefox se comporte, ante este script, como el resto de los navegatas.
Gracias a tod@s por mirarlo.
Mariví.
<script language="javascript" type="text/javascript">
function abrirCorreo(destinatario, servidor, asunto) {
var enlace = "";
enlace="mail"+"to:"+destinatario+"@"+servidor+"?subject="+asunto;
location.href=enlace;
}
</script>
La llamada a la función se hace desde un enlace de la página, como el siguiente:
Para mandar un mensaje <a href="javascript:abrirCorreo('destinatario','gmail.com','prueba');">pulsa aquí</a>
El objetivo de esto es prevenir la localización de enlaces de correo por parte de robots de spam. El caso es que el script funciona perfectamente en Internet Explorer 8, en Flock 1.2.6, en opera 9, en Netscape 9 y en Safari 3.1.1, todos ellos en entorno Windows, pero en Firefox 3 no funciona. Al pulsar el enlace, en la consola de errores se generan los siguientes mensajes:
Permiso para obtener la propiedad Object.protocolFlags denegado
http://localhost/pruebaCorreo.htm
Error de seguridad: el contenido en http://localhost/pruebaCorreo.htm no puede cargar o enlazar con mailto:[email protected]?subject=prueba.
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.href]" nresult: "0x80004005 (NS_ERROR_FAILURE)" location:"JS frame :: http://localhost/pruebaCorreo.htm :: abrirCorreo :: line 10" data:no]
Estos tres mensajes se generan en el momento de pulsar el enlace (ya me he asegurado de que, previamente, la consola de errores estuviera limpia). Me consta que es debido a algún mecanismo de seguridad diseñado para impedir que se abra un enlace de este tipo. No obstante, me gustaría saber si hay alguna manera de obviarlo, para que Firefox se comporte, ante este script, como el resto de los navegatas.
Gracias a tod@s por mirarlo.
Mariví.
Valora esta pregunta


0