我正在尝试将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'
的错误。有人可以帮忙吗?
getURL
变量包含您可以修改的对象,因此,更改其host
和pathname
可以获取您提到的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