我正在使用此代码来检测主页,并且效果很好:
var url= window.location.href;
if(url.split("/").length>3){
alert('You are in the homepage');
}
我的问题是我还需要检测 url 是否有变量,例如:
mysite.com?variable=something
我还需要检测 url 是否也有变量
我怎样才能做到这一点?
我正在使用此代码来检测主页,并且效果很好:
var url= window.location.href;
if(url.split("/").length>3){
alert('You are in the homepage');
}
我的问题是我还需要检测 url 是否有变量,例如:
mysite.com?variable=something
我还需要检测 url 是否也有变量
我怎样才能做到这一点?
使用window.location.pathname
也可以:
if ( window.location.pathname == '/' ){
// Index (home) page
} else {
// Other page
console.log(window.location.pathname);
}
您可以通过比较 href 和 origin 来确定您是否在主页上:
window.location.origin == window.location.href
要获取查询参数,您可以在此处使用答案: 如何在 JavaScript 中获取查询字符串值?
查看window.location 文档,您想要的信息在 中location.search
,因此检查它的功能可能是:
function url_has_vars() {
return location.search != "";
}
如果当前 url 是 xxxxx.com 之类的,那么 xxx
if (window.location.href.split('/').pop() === "") {
//this is home page
}
您需要一个查询字符串搜索功能来执行此操作..
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
在重定向之前检查查询字符串并与预期值匹配并根据要求进行重定向。
从Mataniko 的建议中汲取灵感,我对其进行了一些修改以解决其问题:
if (window.location.origin + "/" == window.location.href ) {
// Index (home) page
...
}
这样,本次测试只在首页通过