获取 window.location.href 以返回页面名称和扩展名(如果 URL 以 / 斜杠结尾)

Getting window.location.href to return page name and extension if URL ends with a / slash

本文关键字:URL 如果 结尾 扩展名 href location window 返回 获取      更新时间:2023-09-26

当在以/结尾的页面上使用window.location.href时.aspx假设结果只是返回:

http://localhost/

我一直在到处寻找,但是如何让它实际返回真实的URL?

http://localhost/default.aspx

查看 window.location 对象,我看到的唯一选项是:

hash: ""
host: "localhost"
hostname: "localhost"
href: "http://localhost/"
origin: "http://localhost"
pathname: "/"
port: ""
protocol: "http:"

这是真正的URL;即使有另一个URL给你相同的信息,(/my-page//my-page/index.html)他们都是JavaScript都知道的。所以不幸的是,你不能以这种方式嗅探服务器端技术。

当然,如果你迫切想知道

/my-page/default.aspx是否与/my-page/相同,你可以异步调用它,如果你得到200,你可以比较它的内容。不过,这绝对不是我推荐的

是不可能的。默认文档设置为服务器,并且无法通过 JavaScript 访问名称。

解决方法可能是获取页面服务器端的名称并将其传递给客户端(例如,在隐藏字段或 JS 变量中)。