纯前端,判断进入A页面时链接中有没有传进一个参数?
从B页面进入A页面,链接是A.html。
从c页面进入A页面,链接是A.html?ss=da。
在A页面打开时,如何判断有没有参数,并根据不同链接执行不同方法
无节操撸过
10 years, 7 months ago
Answers
javascript
var o=location.search.substr(1).split('&'), i=o.length, _o, GET={}; while(i--){ _o=o[i].split('='); GET[_o.shift()]=decodeURIComponent(_o.join('=')); } if(GET['ss']=='da'){ /* 传入参数有 ss 并且等于 'da' */ }
呃...
再加上几个例子
上面运行完之后
再运行
javascript
GET.ss
或者
javascript
GET['ss']
就会返回
'dd'
你也可以直接用它进行判断
javascript
if(GET.ss=='dd'){ alert('GET 参数 ss 值等于 dd'); }
raven
answered 10 years, 7 months ago
希望对你有帮助
/*
* 获取特定字段的查询字符串
* @param {String} name: 查询字符串的字段名
*/
function getQuerySrting(name) {
var search = location.search.substring(1).split('&');
var value = false;
for (var i = 0;i < search.length;i++) {
var keyValue = search[i].split('=');
if (keyValue[0] == name) {
value = keyValue[1];
}
}
return value;
}
stoomy
answered 10 years, 7 months ago
前端用js吧。
以前我写的一段拿出来可以作为范例。
<script>
//方法
var request =
{
QueryString : function(val)
{
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
}
}
</script>
用法:
URL:
player.html?inputStr=http://***/三国演义.The.Romance.of.three.kingdoms.1994.中国.XTM.DVD-HALFCD/三国演义.The.Romance.of.three.kingdoms.1994.中国.XTM.DVD-HALFCD.EP37.mkv
<script>
//调用
var rt = request.QueryString("inputStr");
document.write("<video src=\""+rt+"\" controls preload></video>")
</script>
就是把inputStr传进去的视频地址作为参数传给rt,然后用video标签包起来。
gutti
answered 10 years, 7 months ago
请使用成熟的 query-string 库
https://github.com/sindresorhus/query-string
js
console.log(location.search); // ?foo=bar var parsed = queryString.parse(location.search); console.log(parsed); // {foo: 'bar'} console.log(location.hash); // #token=bada55cafe var parsedHash = queryString.parse(location.hash); console.log(parsedHash); // {token: 'bada55cafe'} parsed.foo = 'unicorn'; parsed.ilike = 'pizza'; location.search = queryString.stringify(parsed); console.log(location.search); // ?foo=unicorn&ilike=pizza
西行寺@幽幽子
answered 10 years, 7 months ago