如何有效地在JavaScript中的URL中间添加“路径”?
我想在URL中添加嵌入,所以URL https://blog.com/post/123
最终看起来像这样https://blog.com/embed/post/123
?
欢呼
答案 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"
答案 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