从B页面进入A页面,链接是A.html。
从c页面进入A页面,链接是A.html?ss=da。
在A页面打开时,如何判断有没有参数,并根据不同链接执行不同方法
天蓬老师2017-04-10 15:14:31
希望对你有帮助
/*
* 获取特定字段的查询字符串
* @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;
}
PHP中文网2017-04-10 15:14:31
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'); }
PHPz2017-04-10 15:14:31
Orz 那个不是 window.location.search 吗?
附:用 window.location.hash 还可以促发 hashShange 事件
巴扎黑2017-04-10 15:14:31
请使用成熟的 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
伊谢尔伦2017-04-10 15:14:31
我是php的,这种工作也用前端做啊?,通常跳转页面不都是后台进入控制器通过if判断指定魔板么?如果有参数进入什么模板,如果没参数进入什么模板?我不是来回答问题的哈,我是来学知识的袄,通常js代码不都是等待bom活着dom加载完成才执行么?这一瞬间页面已经出来了袄,这个页面给后端做不是手拿把掐么?难不成你写的是纯静态页面啊?求知识袄
怪我咯2017-04-10 15:14:31
前端用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标签包起来。
巴扎黑2017-04-10 15:14:31
javascript
function searchQuery(query) { return decodeURI(window.location.search.replace(new RegExp('^(?:.*[&\\?]' + encodeURI(query).replace(/[\.\+\*]/g, '\\$&') + '(?:\\=([^&]*))?)?.*$', 'i'), '$1')); }
如果有该参数则返回参数值,如果没有则返回空字符串