javascript 解析浏览器参数信息

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
<!--

window.onload = function(){

var myURL = parseUrl('http://abc.com:8080/dir/index.html?id=255&m=hello#top');

//alert(myURL.file); // = 'index.html'
//alert(myURL.host); // = 'abc.com'
myURL.search; // = '?id=255&m=hello'
myURL.params; // = Object = { id: 255, m: hello }
myURL.path; // = '/dir/index.html'
myURL.segments; // = Array = ['dir', 'index.html']
myURL.port; // = '8080'
myURL.protocol; // = 'http'
myURL.source; // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
var file = _$("file");
file.innerHTML = myURL.file;
var host = _$("host");
host.innerHTML = myURL.host;
var port = _$("port");
port.innerHTML = myURL.port;
var source = _$("source");
source.innerHTML = myURL.source;
var search = _$("search");
search.innerHTML = myURL.search;
var params = _$("params");
params.innerHTML = objToString(myURL.params);
var path = _$("path");
path.innerHTML = myURL.path;
alert(objectToString(myURL))
}

function _$(id){
return document.getElementById(id);
}
function parseUrl(url){

var a = document.createElement("a");

a.href = url;
return {
//源连接地址
source:url,
//协议
protocol:a.protocol.replace(":",""),
host: a.host,
//端口
port: a.port,
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
//查询字符串
search: 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('/')


};
}

function objToString (obj) {
var str = '', a = [], t;

for (var p in obj) {
if (obj.hasOwnProperty(p)) {
str += p + ':' + obj[p] + ',';
}
}
return str;
}

//-->
</script>
</head>

<body>
<div>
<p>javascript 解析浏览器路径参数</p>
<h4>原来的url:'http://abc.com:8080/dir/index.html?id=255&m=hello#top'</h4>
<h4>解析后</h4>
<p>
<div>file:<span id="file"><span></div>
<div>host:<span id="host"></span></div>
<div>search:<span id="search"></span></div>
<div>params:<span id="params"></span></div>
<div>path:<span id="path"></span></div>
<div>port:<span id="port"></span></div>
<div>protocol:<span id="protocol"></span></div>
<div>source:<span id="source"></span></div>

</p>
<div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值