查看原文
其他

HTML在锚点元素(链接)上定义了ping属性是干什么用的?

张张 前端全栈开发者 2022-07-09

锚点元素上的ping属性

锚元素的 ping 属性接受以空格分隔的URL列表。当锚定义ping URL并有人单击它时,浏览器将向这些指定的URL发送 POST 请求。如果您要跟踪和分析用户如何与您的网站进行交互,此功能可能会有所帮助。

<a href="https://www.stefanjudis.com/popular-posts/"
ping="https://www.stefanjudis.com/tracking/">
Read popular posts</a>

要查看其运行情况,请打开您的开发人员工具,然后单击下面的链接。👇

Read popular posts

实际上,当您在开发人员工具中打开network面板时(启用“保存日志”来查看浏览器导航到新URL后的请求),您会在单击“ping链接”后看到一个请求飞向定义的URL。

POST请求的有效载荷是单字 PINGping-to 请求头中保存着链接的目的地,另外还有 user-agent 等附加信息。有趣的是, content-typetext/ping。🙈

总而言之,ping 属性提供了一种实现“链接点击跟踪”的轻巧方式。这是否意味着您今天就可以使用它?

浏览器对ping属性的支持

在MDN上查看属性的浏览器兼容性表时,您会发现浏览器支持还不错。

Chromium浏览器(Chrome、Edge等)支持。火狐浏览器的支持是在浏览器功能标志(browser.send_pings)后面,而Safari...。Safari被错误地标注为不支持。

为什么没人使用ping?

我是原生HTML解决方案的忠实拥护者。问题是为什么没有人使用 ping 属性(或者您知道使用它的网站吗?)?

我只能在这里推测,但一个原因可能是用户分析主要由第三方提供商(例如Google Analytics(分析))驱动。

作为一个Web开发者,要使用这些,你所要做的就是在你的网站中嵌入一个脚本。JavaScript将跟踪所有的用户行为,并且没有任何基础的设置就能工作。

如果您的跟踪基于 ping 属性,则必须调整站点上的所有链接。这个过程包括更多的维护和开发工作,这是反对使用 ping 属性的有力论据。


粉丝福利

极客时间专栏《朱赟技术管理课》7天有效,需要的速取!获取资源请在公众号对话框中回复关键字:JK04,关键字全部大写哦!如果没有关注请扫下面的二维码。更多福利资料请查看公众号菜单
推荐文章(点击可跳转)

在Vue.js中加载字体的最佳做法

页面布局之Grid vs Flexbox:哪个更好?

经验技巧:什么是职场暗语?

改善程序性能和代码质量:通过代理模式组合HTTP请求

新老手必备的34种JavaScript简写优化技术

最近文章

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存