Just wanted to know if it is possible to create a hidden window using javascript?
Asked
Active
Viewed 7.4k times
15
-
Regarding the question, what's your goal? If you want to send data to the server without user seeing something, simply use AJAX. – Shadow The GPT Wizard Mar 03 '11 at 12:38
3 Answers
14
You can create an iframe
var element = document.createElement("iframe");
element.setAttribute('id', 'myframe');
document.body.appendChild(element);
You can hide an iframe by setting its width and height to zero or by setting its visibility to hidden in the stylesheet.

Andrey
- 5,906
- 4
- 24
- 30
-
2Actually `element.style.display = "none";` is the ideal way to have it hidden as far as I know. – Shadow The GPT Wizard Mar 03 '11 at 12:38
-
I've read on someone's blog that iframe may not work properly if we set display to none, but it were not mentioned in what case exactly. Maybe you're right :) – Andrey Mar 03 '11 at 12:55
10
You can also create a new window visible only in taskbar with this workaround:
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', '');
that open a window in a position not visible by user. I have used this trick different times.

Tonino
- 1,137
- 10
- 25
-
I tried this in IE10, i dont know why it didnt worked for me....will give it another try – www.amitpatil.me Dec 07 '13 at 09:57
-
Try to play with position left and right. I used 10000 as random big number. How did you see the windows in IE10? – Tonino Dec 08 '13 at 09:10
-
-
0
Under IE 9+ you can create a window off-screen:
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 is your monitor width. Using "*2" allows for users with dual monitors.
This does not work under Chrome.