[whatwg] <a href="" ping="">
ian at hixie.ch
Fri Oct 21 14:14:46 PDT 2005
On Fri, 21 Oct 2005, Charles Iliya Krempeaux wrote:
> For #2, I can tell you that advertising software will NOT use this
> unless they absolutely know it works. There'd need to be some way of
> detecting browsers that it works on. Without having to resort to
> browser detecting. Need to do "feature detecting". (I.e., don't want
> to have to check for specific versions of specific browsers. But want
> to check to see what "features" whatever browser they are on has.)
> For alot in the advertising industry, clicks are their "bread and
> butter". It's where the money comes from. They MUST be able to
> "record" a click.
Oh, I know. My salary comes almost entirely from Web advertising. :-)
> Also, it is often necessay to "ping" more than one URI. So you might
> want to make a system where you can list more than one URI. (Although I
> guess you could just have one "ping" URI and do redirect tricks with
As currently defined the ping="" attribute takes a space-separated list of
URIs, so this should be already taken care of.
> Back to "feature detecting" though. Maybe if we had a kind of loopback
> "ping" that would work. (If that makes sense.) That way a document
> could initiate a "ping" to somewhere it would be able to detect.
You can detect whether the UA supports it or not by putting the attribute
<a href="http://example.com" PING="redirect?uri=http%3A%2F%2Fexample.com">
...and then in the script checking to see if the ".ping" DOM attribute
exists or not. If it doesn't, copy the value of PING into href:
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i += 1)
if (!links[i].ping && links[i].getAttribute('ping'))
links[i].href = links[i].getAttribute('ping');
Run this script once per page and it'll switch you back to using the old
method of redirects, with the new user agents (that support ping) having a
better UI. You could also do the same in reverse with slightly more
complicated JS if you wanted to default to the href="" method for non-JS
browsers (which would make sense until ping="" support is widespread).
Thanks for your input!
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg