bookmarklet可以't在普通图像url上运行时在ie中的固定位置

bookmarklet can't fixed position in ie when run on a plain image url

本文关键字:ie 运行时 位置 定位 url 图像 可以 bookmarklet      更新时间:2023-09-26

好吧,这是一个很长很长的镜头,但它开始了。。。

当IE(8和9)直接导航到图像url时,它会在一个没有样式的纯html页面中渲染图像。(如果您按F12打开开发工具,那么您会看到这个)。

现在考虑您有一个bookmarklet,当在该上下文中"运行"时,必须在页面中插入一个新元素,并使用css将其定位在顶部:position:fixed;顶部:0;左:0;然后出现的情况是,元素被很好地插入到dom中,但定位完全失败。新项的作用就好像它是"内联"在原始标记之后一样。

事实上,所有这些定位似乎都失败了。似乎页面的"定位引擎"关闭了,但渲染引擎打开了

所以我的问题是,在IE直接导航到图像url的情况下,有没有任何方法可以让IE正确地渲染定位它运行javascript相对较好,css也不错。

对于那些可能有这个问题的人,我要做的是检测用户正在使用IE,并检测请求的mime类型是某种类型的图像(不同版本的IE之间这种mime类型不同)。当出现这个问题组合时,我获取了浏览器加载的图像的url,然后将浏览器导航到我设置的一个特殊页面,当导航到该页面时,会将图像加载到正常网页中,然后执行我的bookmarklet代码。因此,用户最终体验到了正确的bookmarklet功能,但浏览器中的url只需要更改即可从我的服务器加载页面。。。