Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Safari

Estas en el tema de Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Safari en el foro de Frameworks JS en Foros del Web. Buenas tardes, Llevo días investigando , y he conseguido realizar algún parche, pero muy feo o no funciona como me gustaría. Estoy intentando abrir una ...
  #1 (permalink)  
Antiguo 30/07/2012, 08:17
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 0
Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Safari

Buenas tardes,

Llevo días investigando , y he conseguido realizar algún parche, pero muy feo o no funciona como me gustaría.

Estoy intentando abrir una ventana/pestaña nueva y que quede activa en el navegador, es decir, que sea la página que muestre una vez has clicado, en el explore y mozilla, no hay problemas, sin embargo en el chrome... el focus desde 2008 que no funciona y no parece haber intención de solventarlo. Y para el safari, no he acabado de trastearlo pero parece que va por el mismo camino .

Me gustaría saber si tienen alguna solución para este tema, como siempre mil gracias de antemano.
  #2 (permalink)  
Antiguo 30/07/2012, 09:14
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

Esto debería funcionarte
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Abrir Popup</title>
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. var win= null;
  9. function VentanaCentrada(pagina,w,h,nombre){
  10. var winleft = (screen.width-w)/2;
  11. var wintop = (screen.height-h)/2;
  12. caracteristicas='height='+h+',width='+w+',top='+wintop+',left='+winleft+',scrollbars=no,toolbar=no,resizable=yes'
  13. win=window.open(pagina,nombre,caracteristicas)
  14. if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
  15. }
  16. //]]>
  17. </head>
  18. <p>
  19. <a href="v1.html" onclick="VentanaCentrada(this.href,'400','400','Popupuno');return false;" > Abrir Popup 1 </a><br />
  20. <a href="v2.html" onclick="VentanaCentrada(this.href,'400','400','Popupuno');return false;" > Abrir Popup 2 </a><br />
  21. <a href="v3.html" onclick="VentanaCentrada(this.href,'400','400','Popupuno');return false;" > Abrir Popup 3 </a><br />
  22. </p>
  23. </body>
  24. </html>

Lo del centrado es opcional

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 30/07/2012, 10:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

Muchas gracias por tu respuesta, pero lo acabo de probar y sigue apareciendo detrás de la web , se abre pero sin hacer caso al focus, sólo pasa en el chrome, pero... hoy en dia, el chrome tiene demasiada importancia como para pasar de el...

Alguna otra sugerencia?
  #4 (permalink)  
Antiguo 30/07/2012, 11:10
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

te dejé 2 ejemplos
http://foros.emprear.com/javascript/nueva_ventana/

a mi me funcionan
ahora lo que confunde un poco de tu enunciado es lo de
una ventana/pestaña nueva
Ya que una pestaña no es un popup, por otra parte la decisción de que una nueva ventana del navegador se habra en una nueva pestaña o una nueva ventana depende de la configuración del navegador.
De todas maneras, asi sea con un link con target _blank, a mi en todos los navegadores, (Chrome, Safari, IE) el foco queda en la pestaña abierta, y en la otra pestaña continúa la página original, no veo diferencia
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 31/07/2012, 04:31
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

El tema es que no lo llamo desde el html, lo estoy llamando desde una libreria Javascript por lo que no puedo usar el targe blank, tan sólo puedo usar la parte de :

var h=screen.height;
var w=screen.width;
var winleft = (screen.width-w)/2;
var wintop = (screen.height-h)/2;
caracteristicas='height='+h+',width='+w+',top='+wi ntop+',left='+winleft+',scrollbars=no,toolbar=no,r esizable=yes'
win=window.open('pagina.php,winName,caracteristica s);
if(parseInt(navigator.appVersion) >= 4){win.window.focus();}

Y con esto se me abre detrás , realmente quiero una pestaña activa, la historia es que estoy usando la API de google maps, y solo puedo realizar el enlace a través de Javascript al detectar el click, en una zona, no en un enlace, ahí es donde radica el problema, a través de un html normal no hay problema, es cuando quiero llamar a la pestaña nueva desde Javascript, yo al detectar el click llamo a la funcion escrita más arriba, pero la pestaña se abre detrás... puedo pasarle de alguna manera por javascript el target blank?

Muchas gracias por tu tiempo
  #6 (permalink)  
Antiguo 31/07/2012, 04:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

Por cierto, tb he probado con

win=window.open(pagina.php,"_blank");

Y tb sigue apareciendo detrás.

Como siempre mil gracias,
  #7 (permalink)  
Antiguo 31/07/2012, 05:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

Hola:

Cita:
Iniciado por eronemamone Ver Mensaje
El tema es que no lo llamo desde el html, lo estoy llamando desde una libreria Javascript...
Tal vez si dices de qué librería se trata, podamos mover el tema al foro adecuado y te responden según esa librería...

De todos modos, no encuentro mucho sentido depender de una librería para abrir una ventana...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 31/07/2012, 06:22
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

Buenas,

es la API de google maps, tan sólo quiero que al clicar en un marcador me abra una pestaña nueva, esto lo hago llamando a una función de JavaScript ( por eso lo he puesto en este foro ) , es decir que una vez hago clic dentro del marcador de Google se abra la ventana, pero vamos, no dependo de la libreria. Si quieres enlazar cualquier metodo a algo que no sea un enlace en sí, la función de javascript es igual.

El error esta en Javascript con Chrome no en la libreria de google maps, siempre se abre la pestaña, pero no activa, el focus () no funciona, y ya no se que más propiedades puedo tocar.

Es decir, si creo un botón, que quiero que mediante JAvascript me devuelva una página abierta y activa ( delante de la página que contiene el botón ) , con chrome/safari no veo forma de lograrlo si no es a través de HTML y un enlace con el target _blank, pero mediante puro Javascript no se abre la pestaña/ventana activa, si no que se abre detrás de la que contiene el botón.

La intención de todo esto, es solo que al clicar dentro del mapa de google se vaya a otra página, y ésta sea la activa.

en Explorer y Mozilla funciona perfectamente, es solo en Chrome y Safari que no funciona, he visto que mucha gente esta igual , pero no he encontrado la solución , el bug abierto es :

http://code.google.com/p/chromium/is...tail?id=122648

Pero me extraña que no te dejen abrir una ventana activa, y siempre tenga que estar escondida.

Mil gracias,
  #9 (permalink)  
Antiguo 31/07/2012, 09:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Abrir ventana nueva mediante javascript, y realizar focus para Chrome y Sa

Perdon, use la palabra libreria, y es incorrecta... si hablo con propiedad, una clase , un archivo js, es un archivo propio donde codifico el evento.

Mil gracias,

Etiquetas: chrome, focus, funcion, javascript, mediante, safari, ventanas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:24.