我有一个代码,如果端口是xxxx,它会执行某些操作。这是代码:
function port() {
if (window.location.port === "9876") {
window.location = "http://pc-john.example.com:9877/app/private";
}
else {
window.location = "http://pc-john.example.com:9876/app/private";
}
}
运作良好。但是,我坚持使用此URL,此URL现在已被硬编码。
http://pc-john.example.com:9877/app/private
在此url名称中可以更改,所以我需要做一些更容易理解的事情,url像这样:
http://pc-jack.example.com:9877/app/private
或
http://pc-sara.example.com:9877/app/private
有人可以帮助我吗?谢谢大家。
答案 0 :(得分:3)
您可以设置 location.port
。
if(location.port === "9876") {
location.port = "9877";
}
anchor.port = "9877";
console.log(anchor.href);
<a href="http://pc-john.example.com:9876/app/private" id="anchor">test</a>
答案 1 :(得分:0)
您可以使用内置方法从href中提取所有部分
url.hostname; // 'google.com'
url.port; // 8080
url.pathname; // '/app/private'
url.protocol; // 'http:'
或者您可以显式使用split方法并获取端口号
let stringURL = "http://pc-john.example.com:9877/app/private"
let splittedUrl = stringURL.split(':'); //['http://pc-john.example.com','9877/app/private']
let seondSplit = splittedUrl[1].split('/') //['9877','app','private']
let portnumber = secondSplit[0] // 9877