Okay, so this is a long long shot but here it goes…
When IE (8 and 9) navigates to an image url directly, it renders the image inside a a bare-bones html page with no styling. (If you hit F12 to get dev tools open, then you see this).
Now consider you have a bookmarklet, that when “run” inside this context, must insert a new element into the page, and position it at the top using css: position:fixed; top:0; left:0; Then what appears to happen is the element gets inserted into the dom just fine, but the positioning completely fails. The new item acts as if it is “inline” right after the original tag.
In fact, positioning all together seems to fail. It almost seems like the “positioning engine” is turned off for the page, but the rendering engine is turned on.
So my question is, in this context of IE navigated directly to an image url, is there any way to get IE to render positioning correctly? It runs javascript relatively well, and css okay too.
For those of you that might have this problem – what I had to do was detect that the user was using IE, and detect the mime type of the request was some type of image (this mime type is different between different versions of IE). When this problem combination came up, I grabbed the url of the image that the browser had loaded, and then navigated the browser to a special page I had setup that when navigated to would load the image inside a normal web page, then execute my bookmarklet code. So the user ends up experiencing the correct bookmarklet functionality, but the url in the browser just has to change to load a page from my server…