Peticion Javascript exit popup

javierin

Cobre
Usuario de Bronce
Mensajes
490
Puntuación de reacción
0
Buenas pues estaba buscando que cuando alguien saliera de mi web le saliese un popup para redireccionarlo a otra pagina.

El caso es que de todos los que he probado, ninguno funciona.

Aqui os dejo un par por si alguien sabe que no funciona, o si poneis uno que funcione os lo agredeceria mucho.

<script type="text/javascript">
window.onbeforeunload = function (evt) {
var message = 'Click continue to download';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
document.location.replace = 'tu url';
}
return message;
}
</script>



<script language="javascript">
(function() {
setTimeout(function() {
var __redirect_to = 'tu url';//

var _tags = ['button', 'input', 'a'], _els, _i, _i2;
for(_i in _tags) {
_els = document.getElementsByTagName(_tags[_i]);
for(_i2 in _els) {
if((_tags[_i] == 'input' && _els[_i2].type != 'button' && _els[_i2].type != 'submit' && _els[_i2].type != 'image') || _els[_i2].target == '_blank') continue;
_els[_i2].onclick = function() {window.onbeforeunload = function(){};}
}
}

window.onbeforeunload = function() {
setTimeout(function() {
window.onbeforeunload = function() {};
setTimeout(function() {
document.location.href = __redirect_to;
}, 500);
},5);
return 'texto';
}
}, 500);
})();
</script>

- - - Actualización- - -

por cierto el script tiene que ir en el head o en el body?
 

lobogris

Platino
Usuario de Bronce
Mensajes
1,537
Puntuación de reacción
0
Puedes colocarlo donde quieras, el problema con unbeforeunload es que necesita devolver un string que a su vez sea true, así que esto es lo que he hecho

Código:
window.onbeforeunload = function() {
    window.location.href = 'https://foro20.com';
    return alert('Te vas de viaje')
}

No sé como de bien funcionará, pero dudo que vaya bien ya que el navegador tiene el control... lo miraré con más tiempo :)
 
Arriba