3

W3C 学校声明“类型属性指定链接文档的 MIME 类型”并作为<a href="http://www.w3schools.com" type="text/html">W3Schools</a>示例提供。如果我更改text/htmlapplication/zip标题accept字段更改。

规范中的解释还指出该属性是“纯粹的建议”。这意味着,浏览器可以简单地忽略它吗?

它会期望,该属性反映在“接受”标题字段中。

4

3 回答 3

4

规范中没有任何内容表明 UA 在跟随链接时必须更改Accept标头以匹配type属性。它所说的只是 UA 不能依赖type来确定要检索的资源的类型。

于 2012-05-08T23:44:51.797 回答
3

type属性(如果存在)给出链接资源的 MIME 类型。这纯粹是建议性的。该值必须是有效的 MIME 类型。用户代理不得认为类型属性具有权威性——在获取资源时,用户代理不得使用包含在资源链接中的元数据来确定其类型。

正如它所说,它纯粹是建议性的,用户代理不能认为它具有权威性。换句话说,它甚至不能保证它是正确的,而只是一个提示。我认为这纯粹是基于实用性,因为链接很快就会变得陈旧;链接不能指示链接到资源的内容。没有关于用户代理应该如何处理该属性的其他规范。例如,用户代理可以使用它来直观地向用户指出该链接将(可能)指向 PDF 文件。我不知道现在这样做的用户代理。该属性没有任何其他指定用途,因此也不应更改Accept标题。

于 2012-05-08T23:43:50.967 回答
2

type 属性对于脚本和 HTML5 音频/视频非常重要。如果您通过 HTML5 JavaScript API 访问音频/视频(例如,当用户玩游戏时启动音频),如果浏览器无法播放指定为音频/源的任何文件,则 JavaScript 将严重失败视频节点。

使用 JavaScript,您可以在尝试访问媒体之前检查浏览器是否能够播放媒体,但您不仅必须知道 MIME 类型,还必须知道媒体文件中使用的编解码器,而根据文件扩展名。

这就是 type 属性发挥作用的地方,JavaScript 可以从 type 属性获取该信息,然后查询浏览器是否能够播放该类型的媒体。

媒体播放时服务器发送的 MIME 类型仍然必须正确,您无法使用 type 属性来补偿服务器上不正确的 MIME 类型,无论是 HTML5 媒体还是该属性所在的任何其他标签用过的。

于 2014-01-18T22:37:45.893 回答