我已经构建了一个指向不同主机名的url路径,www.mysite.com例如
var myMainSite = 'www.mymainsite.com' + '/somepath';
Run Code Online (Sandbox Code Playgroud)
所以这相当于www.mymainsite.com/path/path/needthispath/somepath.
我现在怎么做就像下面的代码一样,这给了我一大堆console.log中url的索引.
var splitUrl = myMainSite.split('/');
Run Code Online (Sandbox Code Playgroud)
console.log看起来像:
0: http://
1: www.
2: mysite.com
3: path
4: path
5: needthispath
6: somepath
Run Code Online (Sandbox Code Playgroud)
我把它们连接起来splitUrl[5]+'/'+splitUrl[6],它看起来并不漂亮.
所以我的问题是如何拆分/删除url位置http://www.mymainsite.com/以获取needthispath/somepathjs中的url路径?这样做有更快更清洁的方法吗?
Ina*_*mus 14
URL接口表示提供用于创建对象URL的静态方法的对象.
该new URL(url)对象也可用于(parse, construct, normalise, encode URLs)等.
该浏览器支持在2017年相当不错(〜90%,但不IE11也没有下文)
你可以像这样使用它.
var url = 'http://www.mymainsite.com/somepath/path2/path3/path4';
var pathname = new URL(url).pathname;
console.log(pathname);Run Code Online (Sandbox Code Playgroud)
var urlHack = document.createElement('a');
urlHack.href = 'http://www.mymainsite.com/somepath/path2/path3/path4';
console.log(urlHack.pathname);
// you can even call this object with these properties:
// protocol, host, hostname, port, pathname, hash, search, originRun Code Online (Sandbox Code Playgroud)
小智 9
为什么不使用 split 功能并从那里开始工作。拆分功能将完全拆分您的 URL,从那里您只需要查找倒数第二个和最后一个项目。
下面是一个例子:
var initial_url = 'http://www.mymainsite.com/path/path/needthispath/somepath';
var url = initial_url .split( '/' );
var updated_url= document.location.hostname + '/' + url[ url.length - 2 ] + '/' + url[ url.length - 1 ];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40416 次 |
| 最近记录: |