纯前端,判断进入A页面时链接中有没有传进一个参数?


从B页面进入A页面,链接是A.html。
从c页面进入A页面,链接是A.html?ss=da。

在A页面打开时,如何判断有没有参数,并根据不同链接执行不同方法

jquery web前端开发 JavaScript

无节操撸过 10 years, 7 months ago

 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

用js拆location.href,具体代码本站应该有相关示例,自己找找

anzio 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

Orz 那个不是 window.location.search 吗?

附:用 window.location.hash 还可以促发 hashShange 事件

killuaa 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

我是php的,这种工作也用前端做啊?,通常跳转页面不都是后台进入控制器通过if判断指定魔板么?如果有参数进入什么模板,如果没参数进入什么模板?我不是来回答问题的哈,我是来学知识的袄,通常js代码不都是等待bom活着dom加载完成才执行么?这一瞬间页面已经出来了袄,这个页面给后端做不是手拿把掐么?难不成你写的是纯静态页面啊?求知识袄

蛋疼的可以啊 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

Your Answer