如何更改js URL对象的路径名和协议属性?

问题描述 投票:0回答:1

我正在尝试将window.location.href的路径名和协议更改为新的字符串。

const getUrl = new URL(window.location.href); //'https://example.com/questions'

我正在尝试从上面创建一个新变量,所以它变成:

'https://api.example.com/parameter'

我可以在here中看到我可以访问的路径名和协议,这些是我要更改的位,但是实际上如何更改它们?我的尝试:

const newURL = getURL
    .replace(getURL.protocol, 'https://api')
    .replace(getURL.pathname, '/parameter');

但是,与此同时,我收到了类似'VM825:1 Uncaught TypeError: getURL.replace is not a function'的错误。有人可以帮忙吗?

javascript url
1个回答
0
投票

getURL变量包含您可以修改的对象,因此,更改其hostpathname可以获取您提到的URL。您可以在下面看到一个演示:

var getUrl = new URL(window.location.href); // https://example.com/questions
getURL.host = "api.example.com";
getURL.pathname = "/parameter";

const newURL = getURL.href; // https://api.example.com/parameter
© www.soinside.com 2019 - 2024. All rights reserved.