Javascript 提取URL';s目录,不带文件名,例如;index.html“;

Javascript 提取URL';s目录,不带文件名,例如;index.html“;,javascript,Javascript,我正在寻找简单的JavaScript代码(没有jQuery等),以了解我当前加载的页面URL的目录路径组件 例如,如果我的页面加载为“”,我希望以“”结尾 我需要它,以便在同一位置创建指向不同文件的路径,例如指向“.”看起来这样做很有效: var href = window.location.href; var dir = href.substring(0, href.lastIndexOf('/')) + "/"; 这是一种安全的方法,还是在使用更复杂的URL时会失败?突出显示问题中帮助我的

我正在寻找简单的JavaScript代码(没有jQuery等),以了解我当前加载的页面URL的目录路径组件

例如,如果我的页面加载为“”,我希望以“”结尾


我需要它,以便在同一位置创建指向不同文件的路径,例如指向“.”

看起来这样做很有效:

var href = window.location.href;
var dir = href.substring(0, href.lastIndexOf('/')) + "/";

这是一种安全的方法,还是在使用更复杂的URL时会失败?

突出显示问题中帮助我的注释:

:

简单的解决方案是location.href.replace(/[^/]*$/,'');那么


更好的解决办法是

location.href.replace(/\/[^\/]+?\.[^\/]+?$/, '/')

你确定不能仅仅依靠相对路径吗?指向“other.html”的链接将指向“index.html”所在的同一目录。不过,我需要绝对路径,因为我需要将其作为重定向URL(实际上对于Dropbox API)传递给服务器。简单的解决方案是
location.href.replace(/[^/]*$/,“”)然后。请参阅和do
console.log(位置)根据您的需要,您可能也会发现它很有用。不过,我想知道URL是否允许在查询部分(在“?”之后)使用“/”。那么它们不需要编码吗?本地主机/客户端/构建如何?它变成了
localhost/client
,这可能不是您想要的。您应该添加代码将要执行的操作的解释。当测试此代码时(请参见此处:),它会执行要求之外的操作:它似乎会将“”变为“http:/”。是的,抱歉,更新后的版本应该适用于那些想知道这有什么用的人:它会在最后一个斜杠之后找到所有内容,并删除它,这样就只剩下最后一个“/”之前的文本。