ping Attribute

By  on  

One of the attributes I somehow missed with the HTML5 revolution was the ping attribute;  Other attributes were more popular, download being one of them.  Hell, I just stumbled upon the ping attribute while reading an old forum post.  The ping attribute of an a element represents a list of URLs to POST to when the link is clicked.

A sample usage of the ping attribute would look as follows:

<a href="/checkout" ping="/tracking/going-to-cart">Checkout</a>

I tried writing the POST data to file but the PHP $_POST array was empty, so I can only assume no data is passed.  As for why you'd use the attribute...I don't know.  JavaScript tools provide tracking capabilities so I can only assume these POST pings can be coupled with session tracking to get more detailed information.

Have you used the ping attribute before?  If so please let me know what you used it for!

Recent Features

  • By
    CSS vs. JS Animation: Which is Faster?

    How is it possible that JavaScript-based animation has secretly always been as fast — or faster — than CSS transitions? And, how is it possible that Adobe and Google consistently release media-rich mobile sites that rival the performance of native apps? This article serves as a point-by-point...

  • By
    Responsive Images: The Ultimate Guide

    Chances are that any Web designers using our Ghostlab browser testing app, which allows seamless testing across all devices simultaneously, will have worked with responsive design in some shape or form. And as today's websites and devices become ever more varied, a plethora of responsive images...

Incredible Demos

  • By
    dwProgressBar v2:  Stepping and Events

    dwProgressBar was a huge hit when it debuted. For those of you who didn't catch my first post, dwProgressBar is a MooTools 1.2-based progress bar which allows for as much flexibility as possible. Every piece of dwProgressBar can be controlled by CSS...

  • By
    MooTools HTML Police: dwMarkupMarine

    We've all inherited rubbish websites from webmasters that couldn't master valid HTML. You know the horrid markup: paragraph tags with align attributes and body tags with background attributes. It's almost a sin what they do. That's where dwMarkupMarine comes in.

Discussion

  1. In a similar fashion to navigator.sendBeacon, the “ping” attribute fulfills the request in the background, thus it’s not suspcentible to common document unloading problems when sending requests..

  2. Any sense of browser support?

  3. Drew

    I remember hearing about this many years ago (I think the last draft of specs to include it were in 2010, and it hasn’t been included since), but browser support was iffy. I think FF allows it only if the user modifies their about:config, there’s no real push for IE support, and Chrome/webkit supposedly support it but that’s not enough to recommend it’s use when it’s not on track to become a spec.

    It was meant to be used primary for analytics and tracking, for the reasons Adam mentions (the request wouldn’t get canceled by the navigation itself).

  4. Matt

    It is designed for advertisers. The idea is to have a banner ad that links to the advertiser while having a click tracker go to the ad supply company without having to ad 3rd party JS that who knows what it does.

    Since this is designed for advertisers, Google obviously has it working in Chrome, but Firefox doesn’t really care. Because of this, the ad industry just makes the click through url hit the ad supply site for tracking and then it redirects you to the actual ad url.

  5. Numa

    Just see that Google use it on results search links

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!