Permalink
Browse files

updated download link document

restored rel="download" as deprecated section
added priorities description for filename and download attribute
  • Loading branch information...
1 parent 0994183 commit 60ddadc18b998f3ae2ff404f9277b3c0ca8d7581 @CatChen committed Jul 2, 2012
Showing with 16 additions and 8 deletions.
  1. +16 −8 Doraemon/Download Link.md
@@ -2,19 +2,25 @@
## 概述
-这个文档说明豌豆荚百宝袋如何识别下载链接,以及如何从下载链接中提取目标文件的相关信息(meta data)。
+这个文档说明豌豆荚 Windows 版百宝袋如何识别下载链接,以及如何从下载链接中提取目标文件的相关信息(meta data)。
-一个典型的百宝袋下载链接应该是这样子的:(请注意提供给豌豆荚使用的参数键值对放在 `#` 井号后面,而非 `?` 问号后面。)
+一个典型的百宝袋下载链接应该是这样子的:(请注意提供给豌豆荚 Windows 版使用的参数键值对放在 `#` 井号后面,而非 `?` 问号后面。)
<a href="app.apk#name=app&image=%2Fimages%2Fapp-icon.png" rel="download">Download</a>
-豌豆荚百宝袋会对 `a` 标签中的如下信息作出响应:
+豌豆荚 Windows 版百宝袋会对 `a` 标签中的如下信息作出响应:
## download="filename.ext"
-`download="filename.ext"` 属性向豌豆荚客户端表明这个链接的目标用于下载,同时给出下载时所建议使用的文件名。
+`download="filename.ext"` 属性向豌豆荚表明这个链接的目标用于下载,同时给出下载时所建议使用的文件名。
-在一般情况下,豌豆荚客户端会根据链接目标内容的 content-type 属性做出判断,到底应该是下载还是直接展示。但如果要想要下载的内容是纯文本或者 HTML,豌豆荚的默认行为会是直接展示,这时候可以通过 `download="filename.ext"` 来提示豌豆荚将默认行为变更为下载,同时通过属性取值(`"filename.ext"` 部分)给出建议使用的文件名。对于默认行为已经是下载的链接目标,这个属性同样能用于给出建议使用的文件名。
+在一般情况下,豌豆荚会根据链接目标内容的 content-type 属性做出判断,到底应该是下载还是直接展示。但如果要想要下载的内容是纯文本或者 HTML,豌豆荚的默认行为会是直接展示,这时候可以通过 `download="filename.ext"` 来提示豌豆荚将默认行为变更为下载,同时通过属性取值(`"filename.ext"` 部分)给出建议使用的文件名。对于默认行为已经是下载的链接目标,这个属性同样能用于给出建议使用的文件名。
+
+## rel="download"
+
+_DEPRECATED!_
+
+`rel="download"` 是一个已经不再建议使用的属性,它曾经的作用与 `download="filename.ext"` 相似,用于向豌豆荚声明链接目标应该用于下载而非直接显示。
## href="...\#key1=value1&key2=value2"
@@ -30,13 +36,13 @@
名称。会显示在资源管理界面和下载任务管理器。
-如果下载链接所在的网页上使用了 micro-format,在锚点不提供 `name` 属性时,该属性从同一个 `itemscope` 内的 `*[itemprop=name]` 元素上获取。
+如果下载链接所在的网页上使用了 microdata,在锚点不提供 `name` 属性时,该属性从同一个 `itemscope` 内的 `*[itemprop=name]` 元素上获取。
### image
图标。会显示在资源管理界面和下载任务管理器。
-如果下载链接所在的网页上使用了 micro-format,在锚点不提供 `image` 属性时,该属性从同一个 `itemscope` 内的 `*[itemprop=image]``*[itemprop=thumbnail] *[itemprop=image]``*[itemprop=thumbnailUrl]` 元素上获取。
+如果下载链接所在的网页上使用了 microdata,在锚点不提供 `image` 属性时,该属性从同一个 `itemscope` 内的 `*[itemprop=image]``*[itemprop=thumbnail] *[itemprop=image]``*[itemprop=thumbnailUrl]` 元素上获取。
### content-type
@@ -46,7 +52,7 @@
文件体积。文件在下载过程中如果提供了 HTTP header 的 `content-length` 属性,则以 HTTP header 属性为准。文件下载后,以实际存储的文件体积为准。会显示在资源管理界面和下载任务管理器。
-如果下载链接所在的网页上使用了 micro-format,在锚点不提供 `content-length` 属性时,该属性从同一个 `itemscope` 内的 `*[itemprop=fileSize]``*[itemprop=contentSize]` 元素上获取。
+如果下载链接所在的网页上使用了 microdata,在锚点不提供 `content-length` 属性时,该属性从同一个 `itemscope` 内的 `*[itemprop=fileSize]``*[itemprop=contentSize]` 元素上获取。
### content-disposition
@@ -58,6 +64,8 @@
文件名。豌豆荚在考虑文件保存为什么文件名时,会参考这一参数。如果这一参数不是系统(豌豆荚 Windows 版需要同时考虑 Windows 和 Android)有效的文件名,则豌豆荚会做出必要的调整。
+需要注意的是,在 `filename` 设置的文件名会覆盖在 `download` 设置的文件名,但 HTTP header 设置的文件名依然有最高优先级。
+
#### filepath
文件路径。豌豆荚在考虑文件保存路径时,会参考这一参数。由于下载资源是提供给 Android 设备使用的,所以这里的文件路径应该基于 Android 文件系统。

0 comments on commit 60ddadc

Please sign in to comment.