javascript - 如何拆分 url 以获取 JavaScript 中的 url 路径

标签 javascript

我构建了一个指向不同主机名 www.mysite.com 的 url 路径,例如:

var myMainSite = 'www.mymainsite.com' + '/somepath';

所以这相当于 www.mymainsite.com/path/path/needthispath/somepath

我现在的做法就像下面的代码,这在 console.log 中为我提供了一堆 url 索引。

var splitUrl = myMainSite.split('/');

console.log 看起来像:

0: http://
1: www.
2: mysite.com
3: path
4: path
5: needthispath
6: somepath

我像 splitUrl[5]+'/'+splitUrl[6] 一样连接它们,它看起来一点也不漂亮。

所以我的问题是如何拆分/删除 url 位置 http://www.mymainsite.com/ 以获取 js 中的 url 路径 needthispath/somepath ?是否有更快更简洁的方法来执行此操作?

最佳答案

第一个解决方案(URL对象)

URL 对象 可用于解析、构造、规范化、编码 URL 等。

var url = 'http://www.mymainsite.com/somepath/path2/path3/path4';

var pathname = new URL(url).pathname;

console.log(pathname);

The URL interface represents an object providing static methods used for creating object URLs.


第二种解决方案(一种hack)

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, origin

关于javascript - 如何拆分 url 以获取 JavaScript 中的 url 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39334400/

相关文章:

javascript - 在页面加载问题的弹出窗口后面模糊

javascript - 当某个元素加载时间过长时激活 div

javascript - 修改组件的静态属性不会在 React 中重新渲染其所有实例

javascript - 如何在没有文本字段的情况下使用 JavaScript 调用 android 键盘?

javascript - 如何使用 required 属性一次显示所有必需的错误

javascript - Array.push 将我所有的数组元素替换为最后插入的元素

javascript - 下载远程图片报错: stream. js :94 Error: ENOENT, open 'path/to/file'

javascript - 作为理解 25k 行代码的起点,你会建议什么?

javascript - 如何在不使用 EF 的情况下向我的实体添加上下文元数据?

javascript - 断言一个值恰好等于 undefined