I had to deconstruct and reconstruct URLs from pieces when doing advanced Javascripting for Plone.
I found this nice library from Denis Laprise. However, it had a bug with fragment extractor and lacked reconstruction possibilies. So I decided to make a new version.
Download urlparse.js version 0.2. thank you 🙂
Couple of examples:
var p = new Poly9.URLParser('http://user:password@poly9.com/pathname?arguments=1#fragment'); p.getHost() == 'poly9.com'; p.getProtocol() == 'http'; p.getPathname() == '/pathname'; p.getQuerystring() == 'arguments=1'; p.getFragment() == 'fragment'; p.getUsername() == 'user'; p.getPassword() == 'password'; var p = new Poly9.URLParser("http://localhost:8080/path); p.setQuerystring("foo=bar"); p.setFragment("anchor"); p.setPort(7070); var url = p.getURL() // http://localhost:7070/path?foo=bar#anchor