一行代码实现 url parse
实现
解析 url 的各个部分:
http://domain/path/to/?querystring#hash
普通的方法是使用正则来进行匹配,而在前端可以这样:
var parseURL = (function () {
var a = document.createElement('a');
/**
* 解析 url
* @returns {Object}
*/
return function (url) {
a.href = url;
return {
protocol: a.protocol,
host: a.host,
hostname: a.hostname,
pathname: a.pathname,
search: a.search,
hash: a.hash
};
};
}());
测试
parseURL('http://FrontEndDev.org/path/to/?querystring#hash')
// => {"protocol":"http:","host":"frontenddev.org",
"hostname":"frontenddev.org","pathname":"/path/to/",
"search":"?querystring","hash":"#hash"}
原理
A
标签的各个 property 包含了 url parse 的结果信息。同样的,也可以创建一个空的 iframe 来操作它的 contentWindow.location
来实现。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论