繁体   English   中英

在javascript中获取绝对路径

[英]Get absolute path in javascript

你能在html中获得绝对路径吗?

如果我使用location.href我可以获取网址,但我如何修剪filename.html?

有没有更好的方法来获得这条路。

谢谢!

location.pathname为您提供网址的本地部分。

var filename = location.pathname.match(/[^\/]+$/)[0]

以上只给出了最后一部分。 例如,如果您使用的是http://somedomain/somefolder/filename.html ,则会为您提供filename.html

对于此页面,如果您检查window.location对象,您将看到

hash:       
host:       stackoverflow.com
hostname:   stackoverflow.com
href:       http://stackoverflow.com/questions/8401879/get-absolute-path-in-javascript
pathname:   /questions/8401879/get-absolute-path-in-javascript
port:       
protocol:   http:
search:     

MDN的文档

所以location.pathname就是你想要的。 如果你想提取最后一部分使用正则表达式。

var lastpart = window.location.pathname.match(/[^\/]+$/)[0];
var full = location.pathname;
var path = full.substr(full.lastIndexOf("/") + 1);
// "http://localhost:8080/public/help/index.html"
const loc = window.location.href;

// "http://localhost:8080/public/help/"
const path = loc.substr(0, loc.lastIndexOf('/') + 1); 

尝试这个:

var loc = window.location.href;
var fileNamePart = loc.substr(loc.lastIndexOf('/') + 1);

或者如果您需要从协议到最后'/'的所有内容,您可以使用:

new RegExp('[^?]+/').exec(location.href)

并且不要担心它会与第一个'/'匹配,因为'+'是一个贪婪的量词,这意味着它将尽可能多地匹配。 第一部分'[^?]'是在参数之前停止匹配,因为'/'可以出现在参数值中,如t.php?param1=val1/val2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM