Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加上「/路径/";在JavaScript中的URL中间_Javascript_String_Url_Split - Fatal编程技术网

加上「/路径/";在JavaScript中的URL中间

加上「/路径/";在JavaScript中的URL中间,javascript,string,url,split,Javascript,String,Url,Split,如何在JavaScript中有效地将“路径”添加到URL的中间 我想向URL添加嵌入,因此URLhttps://blog.com/post/123最终会变成这样https://blog.com/embed/post/123 干杯如果路径只是一个字符串,您可以这样做 var路径=”https://blog.com/post/123"; var withEmbed=path.replace(/\/post\/,'/embed/post/'); console.log(withEmbed)您可以使用

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

我想向URL添加嵌入,因此URL
https://blog.com/post/123
最终会变成这样
https://blog.com/embed/post/123


干杯

如果路径只是一个字符串,您可以这样做

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

console.log(withEmbed)您可以使用位置API


示例:

我的方法是通过ref/value将原始URL和要添加的文本传递到函数中。然后,它删除“https://”(如果需要),在第一个“/”处拆分url,并将每个部分保存为一个变量。最后,它将所有内容放回一起,并将其输出到html页面上的。 这不必以这种方式输出,它可以保存为全局变量,然后在链接中使用(但我不知道你的计划是什么,所以我输出了它):)

我举了一个例子:

希望这有帮助:p

您可以创建一个
来获取整个URL

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

log(element.toString())
你以前一定读过这篇文章,我完全明白这个问题的标题,不知道所有的仇恨是从哪里来的这是一个很酷的方法,但是对
路径名
等的支持在不同浏览器中仍然有点不稳定:
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"
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;
}