- From: Joćo Eiras <joao.eiras@gmail.com>
- Date: Thu, 17 Apr 2008 08:50:47 +0100
- To: "Bjoern Hoehrmann" <derhoermi@gmx.net>
- Cc: "Boris Zbarsky" <bzbarsky@mit.edu>, public-webapi <public-webapi@w3.org>
I think you're making a big effort trying to come up with a meaningful solution. However, it can get much complicated than that. Lets say you magically implement a solution which would be impossible for a client side script to detected if any 3rd party website was accessed. I still can do the following: #one:visited,#one:link{background-color:url(detect_url?1)} #two:visited,#two:link{background-color:url(detect_url?2)} where #one and #two are just two arbitrary selectors that point to anchors. Even though I cannot have a client side script detecting if those links are visited, the user agent will fetch those two urls, and tell a server side script that they were visited. Privacy gone. It's a unglorious battle. 2008/4/17, Bjoern Hoehrmann <derhoermi@gmx.net>: > > * Boris Zbarsky wrote: > >So it sounds to me like neither :link nor :visited match anything. But someone > >who actually has the beta (or can look at the code, of course) should check: the > >white-paper is vague enough it could mean other things too, and IE8b1 doesn't > >always match the white-papers. > > > After some quick tests I am not sure what it does or is supposed to do. > As a simple example, I made two links <a href='...'><span>...</span></a> > one visited, one unvisited. > > document.querySelectorAll(":link"); // returned zero elements > document.querySelectorAll(":visited"); // returned zero elements > document.querySelectorAll(":link *"); // returned two elements > document.querySelectorAll(":link span"); // returned two elements > document.querySelectorAll(":visited *"); // returned zero elements > > My original assumption was actually that it treats both selectors as if > it would not support them at all, except that it does not throw on their > use (that would require all calls to return zero and having :not() to > tell that and matching no elements at all, but it turns out :not() is > not supported). > > So from these results it would seem :visited never matches anything and > :link matches all links except when it is the subject of the selector in > which case it matches nothing. That seems contrary to the documentation. > > As for the suggestion that all links must match one or the other, that > would disallow e.g. reporting accurate results for all "visible" links > but omitting any invisble link. I don't think that should be disallowed. > > (As an aside, IE8 throws if the selector argument has trailing white > space, but does not if it's leading white space instead. A quick reading > of css3-selectors suggests white space on either end is illegal). > > -- > Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de > Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de > 68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ > >
Received on Thursday, 17 April 2008 07:51:22 UTC