/** *@param {string} url 完整的URL地址 *@returns {object} 自定义的对象 **/ function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':', ''), host: a.hostname, port: a.port, query: a.search, params: (function() { var ret = {}, seg = a.search.replace(/^\?/, '').split('&'), len = seg.length, i = 0, s; for(; i < len; i++) { if(!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; })(), file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1], hash: a.hash.replace('#', ''), path: a.pathname.replace(/^([^\/])/, '/$1'), relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1], segments: a.pathname.replace(/^\//, '').split('/') }; }
1, window.location.href
整个URl字符串(在浏览器中就是完整的地址栏)javascript
2,window.location.protocol
URL 的协议部分
本例返回值:http:java
3,window.location.host
URL 的主机部分
本例返回值:www.jb51.net浏览器
4,window.location.port
URL 的端口部分
若是采用默认的80端口(update:即便添加了:80),那么返回值并非默认的80而是空字符
本例返回值:”"url
5,window.location.pathname
URL 的路径部分(就是文件地址)
本例返回值:/seo/.net
6,window.location.search
查询(参数)部分
除了给动态语言赋值之外,咱们一样能够给静态页面,并使用javascript来得到相信应的参数值
本例返回值:?ver=1.0&id=6code
7,window.location.hash
锚点对象