2011-07-19 11 views
12

Cuando estoy usando Firefox y luego usando window.open('blah.com','blah','left=-30,top=-300');, la ventana emergente se abre en mi segunda pantalla sobre la primera pero en cromo, la ventana emergente se abre en left=0,top=0. ¿Hay alguna razón por la cual Chrome está haciendo esto y cómo solucionaría el problema?emergente posición abierta en cromo

Gracias!

+2

¿Quizás Chrome no le permite abrir ventanas fuera de la ventana gráfica? – HackedByChinese

Respuesta

1

Creo que esto es un error en Chrome para ser sincero, pero no estoy al tanto de una solución en este momento ya que soy nuevo en JavaScript. Lo siento, estoy seguro de que esta no es la respuesta que estabas buscando.

0

Recientemente he notado que Chrome no permite "esconder" ventanas fuera del área de visualización por razones de seguridad.

0

Sé que este post es antiguo, pero he tenido problemas similares:

var w = 300; 
var h = 300; 
var left = (window.screen.width/2)-(w/2); 
var top = (window.screen.height/2)-(h/2); 

var win = window.open("example.html", "_blank", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left); 


--centers la ventana emergente en Firefox pero no en Chrome . También, observe, esto no está fuera del área de visualización ...

7
var w = 300; 
var h = 300; 
var left = (window.screen.width/2)-(w/2); 
var top = (window.screen.height/2)-(h/2); 

var win = window.open("example.html", "_blank", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h); 
win.moveTo(left, top); 

para Chrome ...

+2

No funciona:/ –

13

Esto es un error en Chrome cuando se abre la ventana emergente en el monitor secundario . La gente de Chrome parece decir que esto es un problema de seguridad (aunque me supera).

Ahora, al abrir una ventana emergente en un monitor secundario NO EXISTENTE, podría entender que es un problema de seguridad, pero ... lo que sea.

Aquí hay un enlace a una discusión sobre el asunto:

https://code.google.com/p/chromium/issues/detail?id=137681

+0

Sí, solo veo este problema en un monitor extendido – VMN

+0

¿Por qué Chrome ...? ¿POR QUÉ? –

6

Sé que esto es una entrada antigua, pero aquí está mi solución a ella. Sólo tiene que utilizar el "*" en vano propiedades del objeto de la imagen:

var windowSize = { 
    width: 500, 
    height: 500, 
}; 
var windowLocation = { 
    left: (window.screen.availLeft + (window.screen.availWidth/2)) - (windowSize.width/2), 
    top: (window.screen.availTop + (window.screen.availHeight/2)) - (windowSize.height/2) 
}; 
window.open(http://example.com, '_blank', 'width=' + windowSize.width + ', height=' + windowSize.height + ', left=' + windowLocation.left + ', top=' + windowLocation.top); 

Básicamente, el "window.screen.availLeft" le da la anchura otras pantallas para que pueda agregar eres un cálculo normal de centro a eso.

+0

Funciona muy bien en los navegadores modernos ... excepto IE. cool –

+0

¡Perfecto! Estas bien ;) – bArraxas

Cuestiones relacionadas