JavaScript当前URL检查

5

我想知道如何让JavaScript检查用户是否在特定的URL上,以便我可以根据结果构建一个if语句。

我的想法是,如果用户点击菜单中的链接并且他们当前正在trucks.php页面上,javascript将重定向他们到某个页面。如果他们不在trucks.php上,他们将被引导到另一个页面。

谢谢大家。

3个回答

10

当前位置在location.href中。

位置对象还包含一些其他有用的字段:

  • location.hash: URL中#符号后面的部分
  • location.host: 主机名,包括端口(如果指定了)
  • location.hostname: 只有主机名
  • location.pathname: 请求的URI,不包括协议/主机/端口;以 / 开头
  • location.port: 端口 - 仅当URL中指定了端口时
  • location.protocol: 通常为 'http:' 或 'https:' - 注意末尾的冒号

在您的情况下,检查文件名是否为trucks.php最可靠的方法是:

var parts = location.pathname.split('/');
if(parts[parts.length - 1] == 'trucks.php') {
    location.href = 'some-other-page';
}

如果你想要重定向但不希望将当前页面保留在浏览历史中,可以使用下面的代码代替location.href的赋值:

location.replace('some-other-page');

非常感谢您的更新,伙计。当我上传到服务器时,它将可以直接使用,无需进行任何编辑。 - Samuel Meddows

4
使用window.location.href获取当前URL,或者使用window.location.pathname只获取路径。对于您的特定问题,只需要路径名即可解决:
if (window.location.pathname == "/trucks.php")
    window.location = "/somewhereelse.php";

查看MDC文档关于window.location


0
使用 window.location。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接