1

再会

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

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”)?

4

3 回答 3

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'(或任何您的索引文件,如果有的话)。

于 2013-04-11T14:33:05.017 回答
0

这可能是显而易见的,但怎么样

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

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

于 2013-04-11T14:32:49.367 回答
0

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

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

于 2013-04-11T14:33:25.180 回答