MHTML在ie7/vista bug 解决方案

在多数情况下,以增加文件大小代价来换连接数是有价值。而MHTML+dataURI = 省连接数,如果你不知道这是什么东东,可以看秦歌写的Data URI 和 MHTML

因为之前发现在vista上的ie7有bug,且没有好解决方案,所以一直不敢项目上使用,之前虽然有看到有个用304的方案(via Data URIs, MHTML and IE7/Win7/Vista blues),但觉一来做起来折腾,一来效果也不好,特别是hover时。

ie7 vista的bug大约这样,相应文件一旦local cache 后,浏览器就读不到。

今天,我要骄傲的跟大家,有两种可行的解决方案

方案1

Content-Type:multipart/related;boundary="_aoao_org_cn"
--_aoao_org_cn
Content-Location:aoao.gif
Content-Transfer-Encoding:base64
... base64...
--_aoao_org_cn--

注意最后的“--_aoao_org_cn--” ,查了不少资料,原来标准写法就是这样!(via rfc2557 第7页) 囧rz

这个故事跟我们说一件事:有问题,查文档。 我之前一直以为cache到本地后浏览器木权限用

方案2

------=_NextPart_000_0000_12345678.12345678
Content-Location:aoao.gif
Content-Transfer-Encoding:base64
... base64...

如果你有用ie存mht并研究结构的话,应该会觉得很眼熟,很神奇,但唯一的问题就是只能用一张图片,囧rz 反正有方案1,无视之。

伴随这个不是bug的bug的终结,相应的工具与应用也要浮出水面了。

This entry was posted in Web开发 and tagged , . Bookmark the permalink.

11 Responses to MHTML在ie7/vista bug 解决方案

  1. 阿肆 @ 2010-01-31 at 10:02

    期待宇宙无敌超级强大不管什么就是只有一个包。

  2. liupeng @ 2010-02-01 at 11:18

    这都被你发现 – -!

  3. yubo @ 2010-02-02 at 00:14

    nb

  4. 天堂左我往右 @ 2010-02-05 at 09:58

    “今天,我要骄傲的跟大家,有两种可行的解决方案”
    汗…aoao兄太忙了吧…

  5. Ruslan @ 2010-02-16 at 21:57

    can you translate your article to english? very interesting, I created tool for automated generation of Data:URI CSS Sprites http://duris.ru, and I have great doubts about the works of your method.

  6. Ruslan @ 2010-02-17 at 01:20

    Tru-la-la! First tests show that it works!!! Thanks!

  7. Shihua @ 2010-03-28 at 18:28

    Nicholas早在上一年就发布了一个这样的工具,但是没有解决IE7@Vista上的问题。感谢分享,根据你的解决方案我提交了一个patch。详情:http://github.com/nzakas/cssembed/issues#issue/14

  8. Pingback: Data URI&MHTML: 用还是不用?-传播、沟通、分享-一直“有你”

  9. Pingback: Data URI和MHTML的另类方法 > F2E Skills

  10. slinkqu @ 2011-02-06 at 20:36

    基本看不懂………

发表评论

(必填)

(必填)