【问题标题】:How cross browser is the ping attribute of anchor elements?锚元素的ping属性如何跨浏览器?
【发布时间】:2014-04-21 03:31:44
【问题描述】:

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

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

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

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

【问题讨论】:

标签: html cross-browser


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    ping 属性包含在 W3C 之前的 HTML5 草案中。它在 HTML5 的 W3C 草案中一直保留到 2010 年初——最后一个包含它的草案是W3C Working Draft 4 March 2010;下一个草稿是W3C Working Draft 24 June 2010

    为什么要删除它?它是massively unpopular - 一种 HTML 功能,专为广告客户跟踪广告点击而设计。 Hixie 的论点是他们已经可以做到这一点。 ping 只是让这个过程更加透明。浏览器将能够提供阻止ping 跟踪的功能。对此的反驳是,如果浏览器具有此功能,发布者将避免使用ping,与当前的点击跟踪技术相比,它不可靠。

    一些浏览器支持它是因为:

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

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

    Internet Explorer does not support it (yet?)Opera 12.x不支持该属性,但是我还没有检查过Opera下一代基于Blink的浏览器。

    【讨论】:

      【解决方案3】:

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

      来源:HTML <a> ping Attribute (W3Schools)

      【讨论】:

      • 网络上的所有资源都令人惊叹,只有最卑鄙的资源才有我需要的信息。谢谢你。但是我们在谈论哪个 IE? IE8? IE11?
      • @SecondRikudo 我对这个网站的体验让我觉得这个页面有错误......
      • 我也不会依赖 W3Schools
      • 顺便说一下,IE11不支持Ping属性根据这个特性请求:connect.microsoft.com/IE/feedback/details/793755/…
      • @RUJordan 您引用的维基百科文章中的相关部分没有更新很长时间了吗? Since 2012 in fact,以及更早使用的引用。
      【解决方案4】:

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

      【讨论】:

      • “所以 W3Schools 可能是对的”我在这里很少也很少同意的陈述。
      【解决方案5】:

      您还可以通过 Wikipedia 文章 Comparison of layout engines (HTML5) 查看对 WebKitGecko 等的支持。

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

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

      【讨论】:

      • 与在点击期间使用 javascript 重写目标 URL 相比,它对隐私的破坏性更大吗?或者只是与第三方共享服务器日志?
      • 不是,只是另一种方式。
      • 也许该帖子自 2012 年以来没有更新,因为自那以后没有任何变化。
      猜你喜欢
      • 2013-04-05
      • 2012-02-06
      • 1970-01-01
      • 2011-05-24
      • 2011-08-03
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      相关资源
      最近更新 更多