sincroniza para nativo hipervinculo funciona enviar enlace electronico ejemplo correo codigo html hyperlink target

para - mailto html ejemplo



Use window.name para abrir enlaces en correos electrónicos en la misma pestaña (3)

Estoy desarrollando un sitio web donde los usuarios pueden cambiar la configuración que deben confirmar antes de que tenga efecto.

La confirmación se realiza mediante un enlace que les envío por correo electrónico. En el HTML del sitio web utilizo este pequeño fragmento de código:

<script type="text/javascript">window.name="mysite";</script>

Y en los correos HTML que uso.

<a href="..." target="mysite">Click me</a>

Pero Chrome siempre está abriendo nuevas pestañas en lugar de abrirlas todas en una.

¿Es esto posible o está prohibido por algunas razones?


Esa es una idea muy interesante. Me gusta. Por desgracia, parece que, en los navegadores modernos, ya no puede cerrar una ventana que no abrió a través de JavaScript. Por lo tanto, si no se le permite ejecutar javascript en el correo electrónico, lo mejor que puede hacer es redirigir la página original a una página de "agradecimiento" y dejarla en la pestaña del navegador (pero ya no esperar la conformación). Me gusta esto:

PleaseConfirm.html:

window.name="need_redirected";

Confirm.html:

var w = window.open("", "need_redirected"); if (w) w.location="ThankYou.html";

Por supuesto, para el IE antiguo, todavía intentaría cerrar la ventana antigua en ThankYou.html:

window.top.close();

Por supuesto, aún puede intentar establecer el objetivo en caso de que funcione, y siempre puede intentar poner un atributo onclick en su etiqueta por el mismo motivo:

<a href="confirm.html" target="need_redirected" onclick="window.open(''confirm.html'', ''need_redirected'');">click here </a>

Pero eso parece ser lo mejor que puedes hacer. Gorrón.


Las plataformas de correo web, como Gmail, tienden a modificar parte del código HTML de un correo electrónico debido a razones de seguridad.

Obviamente eliminan cualquier código javascript que pueda tener el correo electrónico. Pero también cambian (o agregan si no hay) la propiedad de destino de cada elemento delimitador y los establecen en target="_blank" para evitar que el usuario salga de Gmail (en este caso).

Desafortunadamente, cada plataforma de correo web tiene su propio comportamiento, por lo tanto, lo que usted quiere hacer no va a funcionar en todas las plataformas de correo web.

Si lo que quiere hacer es evitar que el usuario tenga abiertas varias pestañas de la misma página, (* consulte la Actualización 1) le viene a la mente que podría usar sockets web para cerrar la pestaña anterior una vez que el usuario ingrese la URL enviada por correo electronico. Echa un vistazo a socket.io por ejemplo.

Actualización 1

No hay manera de hacer esto usando WebSockets. No hay forma posible de cerrar una ventana que no se abrió con javascript, y solo los padres pueden cerrarla.


Ninguna de las otras dos respuestas funciona, pero esta probablemente lo hará:

  1. En la pestaña inicial, escuche un evento en el onstorage , con una clave determinada que se está creando, por ejemplo, "userHasConfirmedEmail". Cuando ocurre el evento, window.top.close() .
  2. En la nueva pestaña, crea esa clave.

El crédito es para Tomas y su respuesta .