锚点元素的 ping 属性如何跨浏览器?

How cross browser is the ping attribute of anchor elements?

提问人:Madara's Ghost 提问时间:3/16/2014 最后编辑:Shadow Wizard Is Sad And AngryMadara's Ghost 更新时间:11/25/2021 访问量:7907

问:

<a ping="...">是 HTML5 锚元素中一个相对较新、相对未知的属性。

它的跨浏览器兼容性如何?

我查看了 MDN 和 http://caniuse.com 等在线资源,但没有发现任何建议浏览器支持的内容。

我想知道这是否是 2014 年今天链接跟踪的可行选择。

HTML 跨浏览器

评论

0赞 unor 3/16/2014
供参考:ping 属性是 WHATWG 的 HTML 的一部分,但还不是 W3C 的 HTML 5.1 Nightly 的一部分。
1赞 trysis 3/17/2014
该属性实际上是吗?据我了解,人们不再使用 s,w3schools 说该属性发送请求。有更好的方法可以做什么,我想知道属性是否可以做这些而不是ing?pingpingpingHTTPPostpingpingping
2赞 Flimm 11/30/2016
Caniuse 现在包括此功能: caniuse.com/#feat=ping
1赞 rugk 4/18/2019
顺便说一句,截至 2019 年,Chrome/ium、Safari 和其他浏览器默认启用此功能,甚至不再允许禁用,只有 Firefox 甚至没有默认启用它。
0赞 mjn 6/2/2019
@rugk “Mozilla已经告诉BleepingComputer,他们将在Firefox中默认启用称为超链接审计或Ping的跟踪功能。(链接)(2019年4月19日)

答:

0赞 Snappawapa 3/16/2014 #1

看起来Internet Explorer(不足为奇)和Opera似乎都不喜欢它。

来源: HTML <a> ping 属性W3Schools)

评论

8赞 Madara's Ghost 3/16/2014
令人惊讶的是,在网络上的所有资源中,只有最卑鄙的来源才有我需要的信息。谢谢。但是我们在谈论哪个IE?IE8的?IE11的?
4赞 Denys Séguret 3/16/2014
@SecondRikudo 我对这个网站的体验让我觉得这个页面有错误......
10赞 Alain Jacomet Forte 3/16/2014
我也不会依赖 W3Schools
4赞 Alain Jacomet Forte 3/16/2014
顺便说一句,IE11 不支持 Ping 属性,根据此功能请求:connect.microsoft.com/IE/feedback/details/793755/...
2赞 dsgriffin 3/16/2014
@RUJordan 您引用的维基百科文章中的相关部分已经更新了很长时间?事实上,自 2012 年以来,参考资料甚至更久远。
17赞 Sterling Archer 3/16/2014 #2

您还可以在维基百科文章 WebKitGecko的布局引擎 (HTML5) 比较中查看支持。

它似乎也是一个潜在的隐私侵犯属性,能够将数据发送给第三方。默认情况下,它在支持它的浏览器中处于禁用状态。

注意:正如 null 所说,这篇文章自 2012 年以来一直没有更新过!

评论

3赞 Ben Voigt 3/16/2014
比方说,在点击过程中使用 javascript 重写目标 URL 更能破坏隐私吗?或者只是与第三方共享服务器日志?
0赞 Sterling Archer 3/16/2014
不是,这只是另一种方式。
2赞 GolezTrol 3/16/2014
也许这篇文章自 2012 年以来就没有更新过,因为从那时起什么都没有改变。
2赞 a1204773 3/16/2014 #3

根据 deanhume.com 只有SafariGoogle Chrome支持它,也许Firefox也支持它,因为在他们的文档中,他们没有标记警告“此API尚未标准化”。因此,W3Schools 可能是对的:)

评论

1赞 3/20/2014
“所以W3Schools可能是对的”,我很少在这里,也很少同意。
59赞 tobyink 3/16/2014 #4

该属性包含在 W3C 之前的 HTML5 草案中。直到 2010 年初,它一直保留在 HTML5 的 W3C 草案中——最后一个包含它的草案是 2010 年 3 月 4 日的 W3C 工作草案;下一个草案是 2010 年 6 月 24 日的 W3C 工作草案ping

为什么它被删除了?它非常不受欢迎 - 一种专为广告商设计的 HTML 功能,用于跟踪广告的点击。Hixie 的论点是他们已经可以做到这一点; 只是让过程更加透明。浏览器将能够提供阻止跟踪的功能。与之相反的论点是,如果浏览器具有此功能,发布商将避免,与当前的点击跟踪技术相比,它不可靠。pingpingping

一些浏览器支持它,因为以下组合:

  • 他们很早就实施了它,并且觉得没有必要删除它;和
  • 它们支持 WHATWG 规范,而不是 W3C 规范。

支持它的浏览器似乎是 SafariChrome。(后者这样做也就不足为奇了;它最初使用Safari的WebKit作为其布局引擎,现在使用WebKit的一个分支Blink。Firefox 也支持它,但自 2008 年以来,默认禁用了支持——它可以通过 about:config 启用,尽管我认为没有多少人这样做。

Internet Explorer(还不支持)它。Opera 12.x 不支持该属性,但我还没有检查 Opera 的下一代基于 Blink 的浏览器。

1赞 Kareem Kamal 11/17/2021 #5

现在我们有 navigator.sendBeacon(),它发出一个 http 请求,如果需要,该请求会在导航后在后台继续,并且与 Firefox 中默认未启用的 ping 不同,所有主流浏览器都支持此方法。

此外,获取请求具有“keepalive”选项,允许它们在导航后继续。