href 属性可以使用的几种值

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

href 属性支持多种值,包括链接协议(如 mailto:、tel:、sms:、javascript:)、深度链接(如 PDF 页面)、数据 URL 和媒体片段链接,提供多样的导航和功能。

🎯

关键要点

  • href 属性支持多种值,包括链接协议、深度链接、数据 URL 和媒体片段链接。

  • 链接协议如 mailto:、tel:、sms: 和 javascript: 用于处理特定类型的链接。

  • 深度链接可以链接到 PDF 中的特定页面,例如 my-file.pdf#page42。

  • href="#" 可以滚动到文档顶部,如果没有 id="top" 的元素,也会滚动到顶部。

  • href="" 可以重新加载当前页面,保留搜索字符串但移除哈希字符串。

  • href="." 重新加载当前页面,同时移除搜索字符串和哈希字符串,需注意 URL 末尾的斜杠。

  • href="?" 重新加载当前页面,移除搜索和哈希字符串,但保留 ? 字符。

  • href="data:" 可以创建跳转到数据 URL 的链接,需注意编码以避免意外行为。

  • href="video.mp4#t=10,20" 允许链接到媒体文件的特定部分,如视频的播放时间。

  • 作者在浏览器和 JavaScript 中测试了这些功能,认为结果正确无误。

🔎

延伸解读

链接协议的多样性

href 属性支持多种链接协议,如 mailto:、tel: 和 sms:,使得网页能够直接与用户的邮件、电话或短信应用互动。这种功能在移动设备上尤为重要,能够提升用户体验,简化操作流程。

深度链接的应用

使用深度链接功能,可以直接链接到 PDF 文件的特定页面,例如 my-file.pdf#page42。这在分享文档时非常实用,能够节省用户查找信息的时间,提高效率。

数据 URL 的注意事项

href 属性中的 data: URL 允许直接嵌入数据,但需注意编码问题,以避免意外行为。使用时应确保数据格式正确,尤其是在不同浏览器中的兼容性可能存在差异。

媒体片段链接的局限性

虽然可以使用 href 属性链接到视频的特定时间段,如 video.mp4#t=10,20,但目前支持情况有限。开发者在使用此功能时应考虑到不同浏览器的兼容性,以确保用户体验的一致性。

延伸问答

href 属性支持哪些链接协议?

href 属性支持的链接协议包括 mailto:、tel:、sms: 和 javascript:。

如何使用 href 属性链接到 PDF 的特定页面?

可以使用深度链接,例如 my-file.pdf#page42 来链接到 PDF 的第 42 页。

href='' 和 href='.' 有什么区别?

href='' 会重新加载当前页面,保留搜索字符串但移除哈希字符串;而 href='.' 会重新加载当前页面,同时移除搜索字符串和哈希字符串。

如何使用 href 属性创建数据 URL 的链接?

可以使用 href='data:' 创建数据 URL 的链接,建议对数据进行编码以避免意外行为。

href='video.mp4#t=10,20' 的作用是什么?

href='video.mp4#t=10,20' 允许链接到视频的特定部分,从 10 秒开始播放,并在 20 秒停止。

href='#' 的作用是什么?

href='#' 可以滚动到文档顶部,如果没有 id='top' 的元素,也会滚动到顶部。

🏷️

标签

➡️

继续阅读