六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 127|回复: 0

html中data类型的url

[复制链接]

升级  1%

55

主题

55

主题

55

主题

举人

Rank: 3Rank: 3

积分
203
 楼主| 发表于 2013-2-7 21:12:14 | 显示全部楼层 |阅读模式
针对于一些小的数据,可以在网页中直接嵌入,而不是从外部文件载入,比如图片。这样的好处是可以减少一次http的请求,缺点是使得页面内容变大。data类型的url格式在98年就已经提出了,现在绝大部分的浏览器都能支持,比如使用IE6内核的国内浏览器,chrome和firefox等,但IE8上使用有问题,图片显示不完整。

data类型的url有以下几种形式:
data:,<文本数据>data:text/plain,<文本数据>data:text/html,<HTML代码>data:text/html;base64,<base64编码的HTML代码>data:text/css,<CSS代码>data:text/css;base64,<base64编码的CSS代码>data:text/javascript,<Javascript代码>data:text/javascript;base64,<base64编码的Javascript代码>data:image/gif;base64,base64编码的gif图片数据data:image/png;base64,base64编码的png图片数据data:image/jpeg;base64,base64编码的jpeg图片数据data:image/x-icon;base64,base64编码的icon图片数据

data类型的图片格式为:
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAg...省略N个字节"/>

以图片为例,生成此数据的伪代码为:
// 定义存放图片字节data[]// 打开图片,内容放入data中open(file_url, data)// 分析图片信息info = image_info(data)// 图片类型media_type = info.media_type// 对图片内容进行base64编码enc = base64(data)// 最后按照格式拼接字符串data_url = "data:" + media_type + ";base64," + enc

生成此数据的工具,你可以访问此网页试试http://dataurl.net/#dataurlmaker
参考:
http://hi.baidu.com/fegro/blog/item/c5492a0a0cb562bd2fddd45b.html
http://www.iteye.com/topic/1117213
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表