MSIE Popups.
Publicated on :
1189909802
I am busy coding my new project, intrinsically called: BrowserFry™. It is a kind of browser frying platform written in Javascript that aims at -you've guessed it- frying browsers. While researching all kinds of objects for the platform, I found this popup feature in MSIE. I never heard of it, so it was fun to see what you can do with it. They are not actual popups as we are used to, but they are popping up on top of the DOM. If browsed locally it overlaps almost the complete screen, I've managed to overlap it in a way that it filled my screen for around 99,98% So that might be a bug. Anyway, it's always fun fry such features. The popup object has restrictions like you can't set focus to it and it disallows document.domain modification.
The next examples do some strange things, the first one acts like a stroboscope and will annoy you in a great degree. It also tries to re-focus to the page creating a new popup instance. It's pretty hard to browse away. There are differences in launching it locally or remote. They are only tested in MSIE6 and like always, no guarantees on universal execution. The first examples I made with BrowserFry actually let MSIE run out of memory, but that isn't really useful here. We go straight for the fun stuff today.
warning: this might hurt your eyes, if you suffer from epileptic seizures do not watch this!
http://www.0x000000/hacks/msiepops/disco.html
The second example shows a popup on top of the browser somewhat to the far left.
this is best seen if you resize the window.
http://www.0x000000/hacks/msiepops/strange.html
Anyway, I think you can do a lot with them.
Disco source:
<script>
window.onload = pop();
window.onblur = window.focus();
function pop() {
var p = window.createPopup();
var b = p.document.body;
b.innerHTML = "a popup";
p.show(-100, -100, 10000,10000, document.body);
setTimeout("document.focus(pop())",0x05);
}
</script>
<body bgcolor="#000">
Strange source:
<script>
window.onload = pop();
function pop() {
var p = window.createPopup();
var b = p.document.body;
b.innerHTML = "<div style='background-color:#000;
width:10000px;height:10000px;color:white;'>
Resize the window and refresh, and see the popup overlay
</div>";
p.show(-1000,-1000,500,500, p.document.body);
}
window.onblur = pop();
window.onfocus = pop();
</script>
<body onmousemove="pop();" bgcolor="#999999">
Useful reference: http://msdn2.microsoft.com/en-us/library/ms536392.aspx