`
deng131
  • 浏览: 678015 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用Data URI/MHTML嵌入图像

阅读更多
高性能网站的一个建议是减少HTTP连接数,使用内联图像嵌入页面可以减少HTTP连接数。目前浏览器支持Data URI的有:Opera 7.2+, Firefox, Safari, Netscape,  Mozilla, IE8

Data URI Scheme
data:[<mime type>][;charset=<charset>][;base64],<encoded data>


例如:
<img src=”data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7″>

对于IE8以下的版本,可以使用MHTML(Multipurpose Internet Mail Extensions HyperText Markup Language),例如:

/*
Content-Type: multipart/related; boundary=”_ANY_SEPARATOR”

–_ANY_SEPARATOR
Content-Location:somestring
Content-Transfer-Encoding:base64

iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAA[...snip...]SuQmCC
*/

#myid {
/* normal browsers */
background-image: url(”data:image/png;base64,iVBORw0[...snip...]“);
/* IE < 8 targeted with the star hack */
*background-image: url(mhtml:http://phpied.com/mhtml.css!somestring);
}


Data URI的好处是减少HTTP请求,坏处是浏览器对于URI的长度有限制以及增大了文档的大小。

相关链接:
http://adamlu.com/?cat=5
http://www.sveinbjorn.org/dataurlmaker
http://dancewithnet.com/lab/2009/data-uri-mhtml/create.php
http://www.phpied.com/data-urls-what-are-they-and-how-to-use/
http://en.wikipedia.org/wiki/Data:_URI_scheme
http://www.hedgerwow.com/360/dhtml/base64-image/demo.php
http://dancewithnet.com/2009/08/15/data-uri-mhtml/
http://www.chencheng.org/blog/2009/10/28/data-uri-try/
分享到:
评论

相关推荐

    Data URI和MHTML完整解决所有浏览器

    Data URI和MHTML是两种在Web开发中用于嵌入资源的技术,它们可以帮助优化网页加载速度和性能,尤其是在处理小文件和图像时。然而,这两种方法都有其特定的优缺点和适用场景。 Data URI(Data URL Scheme)是一种在...

    CSS中使用image data URI来处理图片的方法

    1. 兼容性问题:老版本的IE浏览器(如IE6和IE7)不支持`data URI`,但可以通过MHTML等技术进行解决。 2. 不会缓存单独的图片:浏览器可能不会缓存`data URI`中的图片,可能导致初次加载时速度较慢。 3. 增大CSS文件...

    小议Data URI scheme及其在CSS中的相关使用

    浏览器通常不会缓存通过数据URI嵌入的图像,这意味着每次加载包含这些数据URI的页面时,都会重新加载图像数据。如果同一个图像在页面多处出现,这可能导致页面加载时间变长。为解决这个问题,可以在一个CSS类中定义...

    CSS-JS-Booster:一个易于使用的独立 PHP 库(但同时也是一个 Wordpress 插件),它结合、优化、dataURI-fies、重新拆分、压缩和缓存您的 CSS 和 JS 以加快加载时间

    对于CSS,这些步骤是: 组合多个CSS文件导致HTTP请求数量下降缩小CSS 嵌入任何小于 24KB 的CSS图像作为数据URI或MHTML (对于 IE &lt;= 7) 将输出拆分回 2 个可以并行加载的偶数文件(不适用于 WP) GZIP -压缩...

    c# 保存像Google等网页为mht格式

    MHT文件是一种Web档案格式,它通过嵌入所有外部资源(如图像、CSS、JavaScript等)到主HTML文档中来实现这一点。在C#编程环境中,可以使用`WebClient`类和`Save`方法来实现这个功能。下面我们将详细讨论如何在C#中...

    base 64 encode image in ie7 and under

    标题中的“base 64 encode image in ie7 and under”涉及到的是在Internet Explorer 7(IE7)及以下版本中,如何使用Base64编码来处理图像。Base64是一种编码方式,它将二进制数据转化为可打印的ASCII字符,以便在不...

    Base64(二进制)图片编码解析及在各种浏览器的兼容性处理

    对于支持`data:` URI scheme的现代浏览器,直接使用Base64编码的`&lt;img&gt;`标签即可;而对于旧版IE,尤其是IE6和IE7,需要利用MHTML格式来确保图片正常显示。同时,还可以通过JavaScript进行检测和动态替换,以达到更好...

    XSS跨站脚本攻击剖析与防御

    XSS(Cross-Site ... - "7.5.2 data uris xss.pdf"可能讨论了data URI scheme如何被用来嵌入恶意脚本,以及如何防范。 了解并实施这些防御措施,开发者可以显著降低Web应用遭受XSS攻击的风险,保护用户数据安全。

Global site tag (gtag.js) - Google Analytics