在JavaScript中的网址中间添加“ / path /”

时间:2018-06-24 20:13:10

标签: javascript string url split

如何有效地在JavaScript中的URL中间添加“路径”?

我想在URL中添加嵌入,所以URL https://blog.com/post/123最终看起来像这样https://blog.com/embed/post/123

欢呼

4 个答案:

答案 0 :(得分:1)

您可以创建<a>并设置href属性。然后在embed之前加上路径名,并使用toString()来获取整个URL。

let element = document.createElement('a');
element.href = 'https://blog.com/post/123';
element.pathname = 'embed' + element.pathname;
console.log(element.toString());

答案 1 :(得分:0)

如果路径只是一个字符串,则可以执行此操作

var path = "https://blog.com/post/123";
var withEmbed = path.replace(/\/post\//,'/embed/post/');
console.log(withEmbed);

答案 2 :(得分:0)

您可以使用位置API。

https://developer.mozilla.org/en-US/docs/Web/API/Location

function addEmbed(location) {
    return location.protocol + '//' + location.host +
        '/embed' + location.pathname;
}

var url = document.createElement('a');
url.href = 'https://blog.com/post/123';

var embed = addEmbed(url);
console.log(embed);  // "https://blog.com/embed/post/123"

示例:https://codepen.io/anon/pen/wXxvaq

答案 3 :(得分:0)

我要这样做的方法是通过ref / value将原始URL和您想要添加的文本传递到函数中。然后删除“ https://”(如有必要),在第一个“ /”处分割网址,并将每个部分另存为var。最后,将其放回原处并将其输出到html页面上的

。 不必以这种方式输出,可以将其保存为全局变量,然后在链接中使用(但我不知道您的计划是什么,所以我将其输出了):)

function addToURL(URL, add) {
    URL = URL.replace(/(^\w+:|^)\/\//, '');
    var part1 = URL.substring(0, URL.indexOf("/") + 1);
    var part2 = URL.substring(URL.indexOf("/"), URL.length);
    var result = "https://" + part1 + add + part2;
    document.getElementById("demo").innerHTML = result;
}

这是我的示例:https://codepen.io/anon/pen/RJBwZp

希望这会有所帮助:P