working open not metodo maximized javascript window google-chrome

javascript - not - ¿Solución provisional de "window.open" de Google Chrome?



window open object (8)

He estado trabajando en una aplicación web y, por una parte, necesito abrir una nueva ventana. Tengo esto funcionando en todos los navegadores, mi punto de fricción es con Google Chrome.

Chrome parece ignorar las características de la ventana que me está causando problemas, con lo que estoy luchando es que necesito que la barra de direcciones sea editable dentro de la nueva ventana. FF, IE, Safari y Opera hacen esto bien, Chrome no.

Mi código:

<script language="javascript" type="text/javascript"> <!-- function popitup(url) { newwindow=window.open(url,''name'',''toolbar=1,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=800,height=600''); if (window.focus) {newwindow.focus()} return false; } // --> </script>

¡Cualquier ayuda sería gratamente recibida! Gracias por adelantado :)



Esto funcionó para mí:

newwindow = window.open(url, "_blank", "resizable=yes, scrollbars=yes, titlebar=yes, width=800, height=900, top=10, left=10");


La location=1 parte debería habilitar una barra de ubicación editable.

Como nota al margen, puede soltar el atributo language="javascript" de su secuencia de comandos, ya que ahora está en desuso.

actualización :

Establecer la statusbar=1 para el status=1 parámetro correcto status=1 funciona para mí


Las otras respuestas están desactualizadas. El comportamiento de Chrome para window.open depende de dónde se llame. Ver también este tema .

Cuando se llama a window.open desde un controlador que se desencadenó mediante una acción del usuario (por ejemplo, un evento onclick), se comportará de forma similar a <a target="_blank"> , que se abre de forma predeterminada en una nueva pestaña. Sin embargo, si se llama a window.open otro lugar, Chrome ignora otros argumentos y siempre abre una nueva ventana con una barra de direcciones no editable.

Esto parece una especie de medida de seguridad, aunque la razón detrás de esto no está completamente clara.


No ponga un nombre para la ventana de destino cuando use window.open ("", "NAME", ....)

Si lo haces, solo puedes abrirlo una vez. Use _blank, etc. en lugar de.


Por lo que puedo decir, Chrome no funciona correctamente si está haciendo referencia a localhost (por ejemplo, está desarrollando un sitio localmente)

Esto funciona:

var windowObjectReference; var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; function openRequestedPopup() { windowObjectReference = window.open("http://www.cnn.com/", "CNN_WindowName", strWindowFeatures); }

Esto no funciona

var windowObjectReference; var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; function openRequestedPopup() { windowObjectReference = window.open("http://localhost/webappFolder/MapViewer.do", "CNN_WindowName", strWindowFeatures); }

Esto tampoco funciona, cuando se carga desde http://localhost/webappFolder/Landing.do

var windowObjectReference; var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; function openRequestedPopup() { windowObjectReference = window.open("/webappFolder/MapViewer.do", "CNN_WindowName", strWindowFeatures); }


Tengo el mismo problema, Chrome no abre una nueva ventana desde el código (no controladores).
Encontré esta solución:

setTimeout(function () { window.open( url, ''name'', ''toolbar=1, scrollbars=1, location=1, statusbar=0, menubar=1, resizable=1, width=800, height=600'' ); }, 1);


la barra de menú no debe, o 0, para que Google Chrome se abra en una nueva ventana en lugar de en una pestaña.