JQuery检测如果在主页和主页PLUS url变量

时间:2013-06-24 08:31:44

标签: javascript jquery url pathname

我正在使用此代码来检测主页并且效果很好:

var url= window.location.href;
if(url.split("/").length>3){
    alert('You are in the homepage');
}

我的问题是我还需要检测网址是否包含变量,例如:

mysite.com?variable=something

我还需要检测网址上是否还有变量

我该怎么做?

6 个答案:

答案 0 :(得分:53)

使用window.location.pathname也可以起作用:

if ( window.location.pathname == '/' ){
    // Index (home) page

} else {
    // Other page
    console.log(window.location.pathname);
}

请参阅MDN info on window.location.pathname

答案 1 :(得分:10)

您可以通过将href与原点进行比较来了解您是否在主页上:

window.location.origin == window.location.href

要获取查询参数,您可以在此处使用答案: How can I get query string values in JavaScript?

答案 2 :(得分:5)

查看window.location docs,您想要的信息位于location.search,因此检查它的功能可能只是:

function url_has_vars() {
   return location.search != "";
}

答案 3 :(得分:2)

您需要一个查询字符串搜索功能才能执行此操作。

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, " "));  
}

在重定向之前检查查询字符串并匹配预期值并重定向为需求。

答案 4 :(得分:2)

如果当前网址是xxxxx.com,那么xxx

if (window.location.href.split('/').pop() === "") { 
    //this is home page
}

答案 5 :(得分:0)

我从 Mataniko 的建议中汲取了灵感,对它进行了少许修改以解决其问题:

if (window.location.origin + "/" == window.location.href ) {
  // Index (home) page
  ...
}

通过这种方式,该测试仅在首页中通过