2011-08-10 17 views
6

Simple pregunta, tengo una ventana que se abre con este código¿Puedo cambiar una ventana de navegador existente que no se puede cambiar de tamaño con Javascript para que se pueda cambiar el tamaño?

window.open(URL, windowName, 'resizable=no'); 

Sé que puedo controlar el tamaño y la posición de programación después de que se ha cargado pero ¿cómo puedo hacer que simplemente reziable nuevo? ¿Hay alguna manera de anularlo?

(NOTA: no tengo acceso para modificar el código de apertura, pero tienen acceso completo al código ventana secundaria)

+0

hicieron intenta setAttribute – zod

Respuesta

2

Un truco puede ser la siguiente:

window.open(window.location.href, document.title, 'resizable=yes'); 
window.close(); 

pero hacer que su ventana de abrir una nueva ventana y cierre en sí, que no es un buen UX

+1

Puesto que parece que la respuesta es ampliamente aceptado como "no", pero sólo le proporciona una solución alternativa (aunque no necesariamente lo usaré) mereces la respuesta aceptada en mi opinión ... –

1

Puede cambiar el tamaño de la ventana secundaria de esta manera:

self.resizeTo(width, height); 

En cuanto a hacer la ventana hija redimensionable de nuevo, no creo que puedas. La ventana principal tiene el control del niño.

1

No, si una ventana es de tamaño variable se determina cuando se está abierto. Cambiar esta bandera después del hecho no es posible. Dependiendo de su objetivo de abrir una ventana nueva (de tamaño variable) y cerrar la anterior podría ser una opción, no creo que haya ninguna alternativa.

1

No lo encuentro en el sitio w3c, por lo que podría estar en desuso, pero window.setResizable(true) debería establecer su propia ventana redimensionable.

Pruébelo, consulte el enlace para obtener más información sobre las restricciones.

El método también se enumera here.

Por supuesto que, teniendo el control sobre el niño, también podría crear un nuevo hijo de él, supongo, como último recurso.

+1

Gracias, no estoy trabajando en IE –

0
var win = window.open(URL, windowName, 'resizable=no'); 
win.resizeTo(*yourWidth*, *yourHeight*); 

puede utilizar resizeTo a su anchura y altura para cambiar el tamaño de la ventana

Cuestiones relacionadas