2011-03-03 30 views
7

¿Solo quería saber si es posible crear una ventana oculta usando javascript?Ventana oculta usando javascript

+0

Con respecto a la pregunta, ¿cuál es tu objetivo? Si desea enviar datos al servidor sin que el usuario vea algo, simplemente use AJAX. –

+0

7 preguntas, no se aceptan respuestas, ¿por qué las personas se molestan en ayudarlo? –

Respuesta

5

Puede crear un iframe

var element = document.createElement("iframe"); 
element.setAttribute('id', 'myframe'); 
document.body.appendChild(element); 

Puede ocultar un iframe mediante el establecimiento de su anchura y altura a cero o mediante el establecimiento de su visibilidad a escondido en la hoja de estilo.

+0

En realidad 'element.style.display =" none ";' es la forma ideal de tenerlo oculto por lo que sé. –

+0

He leído en el blog de alguien que iframe puede no funcionar correctamente si configuramos display para ninguno, pero no se mencionó exactamente en qué caso. Tal vez tengas razón :) – Andrey

2

También puede crear una nueva ventana visible sólo en la barra de tareas con esta solución:

window.open(path.html,'_blank', 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left=10000, top=10000, width=10, height=10, visible=none', ''); 

que se abren una ventana en una posición no visible por el usuario. He usado este truco diferentes veces.

+0

Creo que esto no está funcionando en IE –

+0

Estoy usando este código en IE8/Chrome/Firefox y funciona – Tonino

+0

He intentado esto en IE10, no sé por qué no funcionó para mí .. ... lo intentaré de nuevo –

0

Bajo IE 9+ puede crear una ventana fuera de la pantalla:

var options = "left=" + (screen.width*2) + ",top=0"; 
var myWin = window.open(url, name, options); 
// Hide the window - IE only 
myWin.blur(); 
// Show the window - IE only 
myWin.focus(); 

screen.width es el ancho del monitor. El uso de "* 2" permite a los usuarios con monitores duales.

Esto no funciona en Chrome.

Cuestiones relacionadas