Javascript 从相对转义的 URL 获取绝对 URL

标签 javascript parsing url

我有一个 js 函数,它接收如下 url:

http://example.com/folder1/folder2/../page.html

注意 url 是绝对的,但它在中间有 ../ 所以它指向的实际 html 页面位于 folder1 而不是 文件夹2

如何将 http://example.com/folder1/folder2/../page.html 转换为 http://example.com/folder1/page.html?

请注意,我的网址可能包含多个 ../

在 Javascript 中有内置工具吗? (例如:在 C# 中,我将通过为我执行此操作的 URI 类运行它。)

更新:澄清一点,我不想为此创建或使用 DOM 元素。

最佳答案

function relativeToAbsolute(relativeUrl) {
  var a = document.createElement('a');
  a.href = relativeUrl;
  return a.href;
}

url = relativeToAbsolute("http://example.com/folder1/folder2/../page.html");

console.log(url)

关于Javascript 从相对转义的 URL 获取绝对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13721651/

相关文章:

javascript - 在 JavaScript 中解码 url 字符串

php - 在文件夹中使用 .htaccess 隐藏查询字符串

api - REST API URL 最佳实践

javascript - 从 OpenLayers 中的集群获取功能?

c++ - Bison:由于冲突,规则在解析器中无用 [-Wother]

javascript - 如何创建另一个链接来查看灯箱中的图像 - 图库插件

java - 将查询字符串参数解析为 java 对象

python - 使用 python 解析文件以获取 CSV

javascript - AngularJS HTML 中未应用 CSS 样式

javascript - 用于解析 JSON 的 JavaScript eval() 替代方案