- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 29 Apr 2009 00:28:58 +0000 (UTC)
On Thu, 26 Mar 2009, Kartikaya Gupta wrote: > > It seems that major browsers all support URL decomposition on > HTMLAnchorElement, but this doesn't seem to be stated anywhere in the > HTML5 spec. The jQuery/tabs library seems to depend on this > (specifically, on the "hash" property) being available. Could the > HTMLAnchorElement interface be updated to reflect this? Done. On Thu, 26 Mar 2009, Jo?o Eiras wrote: > > Browsers also support partially setting each of the url fields > separately, although error handling between all of them is very > inconsistent. Note: if you specify this behavior, then you need to > specify what happens for http:, https:, data:, mailto: and unknown: Done. Browsers differ in how this is handled; the spec doesn't quite match any of them (it takes the most sane aspects of each browser I tested). On Thu, 26 Mar 2009, Boris Zbarsky wrote: > > If you specify the setters then you also need to specify how this > affects the value of the "href" attribute in the DOM. For example, in > Gecko if you have an <a href="foo#bar"> which has base URI > "http://example.com/" and you set anchor.hash on that anchor to "baz", > then the attribute value is changed to "http://example.com/foo#baz". I > can't speak to what happens in other browsers. Done. On Thu, 26 Mar 2009, Kartikaya Gupta wrote: > > var a = document.createElement('a'); > a.setAttribute('href', 'http://example.org:123/foo?bar#baz'); > a.hostname = null; > alert(a.hostname); // displays "foo" > alert(a.href); // displays "http://foo/?bar#baz" The spec says "null" and "http://null:123/foo?bar#baz". If WebIDL changes to say that 'null' becomes "", then the spec says "example.org" and "http://example.org:123/foo?bar#baz" (setting 'host' or 'hostname' to the empty string is ignored). > a.setAttribute('href', 'scheme://host/path'); > a.host = null; > alert(a.host); // displays "" > alert(a.pathname); // displays "" > alert(a.href); // displays "scheme:////host/path" If 'null' becomes "null": "null", "/path", and "scheme://null/path". If 'null' becomes "": "host", "/path", and "scheme://host/path" (setting 'host' or 'hostname' to the empty string is ignored). On Thu, 26 Mar 2009, Biju wrote: > > var a = document.createElement('a'); Assuming a base URL of "http://example.com/path/": > a.setAttribute('href', 'http:/Example.org:123/foo?bar#baz'); //Case 1 > alert(a.href); Per spec: "http://example.com/Example.org:123/foo?bar#baz" > a.setAttribute('href', 'http:example.org:123/foo?bar#baz'); //Case 2 > alert(a.href); Per spec: "http://example.com/path/Example.org:123/foo?bar#baz" > a.setAttribute('href', 'http:///example.org:123/foo?bar#baz'); //Case 3 > alert(a.href); Per spec: "" (the URL can't be parsed). > a.setAttribute('href', 'http://///example.org:123/foo?bar#baz'); //Case 4 > alert(a.href); Per spec: "" (the URL can't be parsed). -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Tuesday, 28 April 2009 17:28:58 UTC