bookmarklet无法固定位置,即在普通图像网址上运行时

时间:2012-01-31 20:08:35

标签: javascript image internet-explorer bookmarklet

好的,所以这是一个很长的镜头,但在这里... ...

当IE(8和9)直接导航到图像网址时,它会将图像呈现在一个没有样式的简单html页面内。 (如果按F12打开开发工具,那么你会看到这个。)

现在考虑你有一个书签,当在这个上下文中“运行”时,必须在页面中插入一个新元素,并使用css:position:fixed;将它放在顶部。顶部:0;左:0;那么似乎发生的事情是元素被插入到dom中就好了,但定位完全失败了。新项目就像在原始标记之后“内联”一样。

事实上,将所有人放在一起似乎都失败了。几乎看起来页面的“定位引擎”已关闭,但渲染引擎已打开。

所以我的问题是,在这个IE直接导航到图片网址的上下文中,有没有办法让IE正确渲染定位?它运行javascript相对较好,css也好。

1 个答案:

答案 0 :(得分:0)

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