Javascript 提取URL';s目录,不带文件名,例如;index.html“;
我正在寻找简单的JavaScript代码(没有jQuery等),以了解我当前加载的页面URL的目录路径组件 例如,如果我的页面加载为“”,我希望以“”结尾Javascript 提取URL';s目录,不带文件名,例如;index.html“;,javascript,Javascript,我正在寻找简单的JavaScript代码(没有jQuery等),以了解我当前加载的页面URL的目录路径组件 例如,如果我的页面加载为“”,我希望以“”结尾 我需要它,以便在同一位置创建指向不同文件的路径,例如指向“.”看起来这样做很有效: var href = window.location.href; var dir = href.substring(0, href.lastIndexOf('/')) + "/"; 这是一种安全的方法,还是在使用更复杂的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(/[^/]*$/,“”)代码>然后。请参阅和doconsole.log(位置)代码>根据您的需要,您可能也会发现它很有用。不过,我想知道URL是否允许在查询部分(在“?”之后)使用“/”。那么它们不需要编码吗?本地主机/客户端/构建如何?它变成了localhost/client
,这可能不是您想要的。您应该添加代码将要执行的操作的解释。当测试此代码时(请参见此处:),它会执行要求之外的操作:它似乎会将“”变为“http:/”。是的,抱歉,更新后的版本应该适用于那些想知道这有什么用的人:它会在最后一个斜杠之后找到所有内容,并删除它,这样就只剩下最后一个“/”之前的文本。