JavaScript - window.opener no me funciona

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 11 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por efren (6 intervenciones) el 14/01/2018 21:57:42
Hola amigos tengo la cabeza dando vueltas, estoy creando un plugin de wordpress ye tengo lo siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
jQuery(function(jQuery) {
	jQuery("._BTN").click(function(e){
		api = jQuery(this).attr('api');
		redir = jQuery(this).attr('redir');
		back = jQuery(this).attr('back');
		jQuery(this).html('Cargando...');
		var data = {
            action : 'Cookie_OK',
            url : redir,
            back : back
        };
        jQuery.getJSON(api,data,function(dat){
            window.open(''+dat.url+''); //aplico open para recojer opener
        });
        return false;
	});
 
});

hasta ahi todo bien abro la nueva venta en la cual tengo

1
2
3
jQuery(function(jQuery) {
	alert(window.opener);
});

pero no me funciona, no se que estoy haciendo mal
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por xve (2100 intervenciones) el 15/01/2018 11:44:59
Hole Efren para ello, tiene que obtener el apuntador del window.open para posteriormente utilizarlo en opener... prueba así:

1
miVentana=window.open(dat.url); //aplico open para recojer opener

para posteriormente...

1
alert(miVentana.opener);

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 11 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por efren (6 intervenciones) el 15/01/2018 20:33:20
Hola amigo gracias por responder pero no me va.
ventana padre

1
miVentana=window.open(dat.url); //aplico open para recojer opener

Ventana hijo

1
2
3
4
5
<meta http-equiv="refresh" content="0; URL=http://www.dominio.com "> // refresco a otra web y luego
 
<scritp>
alert(miVentana.opener);
</script>


pero no me va
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 11 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por efren (6 intervenciones) el 15/01/2018 21:28:52
la consola me marca este error

SecurityError: Permission denied to access property Symbol.toPrimitive on cross-origin object
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por xve (2100 intervenciones) el 15/01/2018 22:08:22
dat.url, es una url del mismo dominio, o de diferente dominio que la pagina que realiza el open()?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 11 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por efren (6 intervenciones) el 15/01/2018 22:13:04
Vale te explico.

Ventana padre

dat.url = mismo dominio www.dominio-1.com?redir=loquesea


Ventana hijo -www.dominio-1.com?redir=loquesea

hace un http-equiv="refresh" a www.dominio-2.com?variable=loquesea
ahi guardo en la BD la variable $_GET

y luego aplico http-equiv="refresh" a la raiz www.dominio-2.com en el cual si en encuentra el
script window.opener
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por xve (2100 intervenciones) el 16/01/2018 07:32:34
Hola Efren, opener, hace referencia a la ventana abierta, por lo que debería de funcionar siempre y cuando se haya abierto la ventana!!

Yo he probado este simple código:
1
2
3
4
5
6
<script>
var dat="https://www.lawebdelprogramador.com";
miVentana=window.open(dat,"miVentana");
 
console.log(miVentana.opener);
</script>

y funciona correctamente si se ha abierto la ventana... si el navegador la ha bloqueado me da error.

Que navegador estas utilizando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 11 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por efren (6 intervenciones) el 16/01/2018 19:53:15
estoy usando firefox, pero probre en chrome y no me va, me dijieron que no se podia por ser dominios cruzados

www.dominio-1.com invoca window.open('www.dominio-2.com');

y en dominio-2 ejecuto window.opener.

me dicen que no se puede por que son dominios distintos, pero he visto una web que hace lo mismo que yo quiero crear, entonces no se por que a mi no me va.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

window.opener no me funciona

Publicado por xve (2100 intervenciones) el 17/01/2018 08:15:21
Ah, no, no, yo creía que ejecutabas el window,opener desde la misma página de donde ejecutas el window,open
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar