作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于绝对 URL,我们可以使用 new URL(str)
进行解析;对于带有基本 URL 的相对 URL,我们可以使用新 URL(path, base)
。如何解析没有基本 URL 的相对 URL?例如,folder/file.ext?a=1&b=2#hash
应解析为
{
pathname: "folder/file.ext",
search: "?a=1&b=2",
hash: "#hash"
}
第三方库很好,但我更喜欢内置库和函数。更喜欢跨平台(浏览器/Node.js)解决方案。无需 IE。
最佳答案
这是一个很好的问题。目前,URL 标准不支持在不需要基础的情况下操作相对 URL。使用虚拟基址并不总是有效,因为带有点段(如 ../path
)的相对 URL 将根据基址进行解析,而以后无法再次恢复它。不幸的是,URL 标准中没有考虑到这一点。尽管有一些讨论将其添加到 #531 .
同时,请查看reurl这是一个库,允许您操作相对 URL,而无需诉诸脆弱的手动字符串操作。
关于javascript - 如何在 JavaScript 中解析没有基本 URL 的相对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56062301/
我是一名优秀的程序员,十分优秀!