如何获取没有路径的url的路径名

时间:2013-04-11 14:29:21

标签: javascript

美好的一天

我正在使用此函数来获取当前窗口的路径名:

var pathname = window.location.pathname;

if(pathname == '/someDir'){
   do something
}

如果你没有路径,那么你现在该做什么,即:http://mydomain.com

现在我可以做的是:

var hostname = document.location.hostname;

if(hostname == 'mydomain.com'){
   do something on the home page only!;
}

但上面代码的问题在于它将在所有页面上执行,因为主机名包含在所有位置...即mydomain.com/contact

那么我该如何定位主页(“mydomain.com”)呢?

3 个答案:

答案 0 :(得分:1)

试试这个。

var hostname = document.location.hostname;
var pathname = document.location.pathname;

if(hostname == 'mydomain.com' && pathname == '/'){
   do something on the home page only!;
}

您会注意到我添加了pathname等于'/'的支票。这将是您的主页,除非您已经配置了服务器。

如果用户在那里结束,您可能还想检查'/index.htm'的路径名(或任何索引文件,如果有的话)。

答案 1 :(得分:0)

这可能是显而易见的,但

怎么样
var pathname = window.location.pathname;
if (pathname === "/") {
  do something on the home page only!;
}

我们没有任何理由检查主机名,因为您的代码只会在您自己的域名'mydomain.com'上执行。

答案 2 :(得分:0)

看看James Padolsey的URL解析器。这是一个简单的JS函数,它将为您提供URL的任何部分(主机,主机名查询字符串,路径等)。

http://james.padolsey.com/javascript/parsing-urls-with-the-dom/