如果URL包含使用JavaScript重定向的特定端口
我需要重定向一个url,例如 到代码将在站点范围内运行,因此它只能在访问者访问时重定向 我尝试过这个,但它循环:如果URL包含使用JavaScript重定向的特定端口,javascript,Javascript,我需要重定向一个url,例如 到代码将在站点范围内运行,因此它只能在访问者访问时重定向 我尝试过这个,但它循环: <script> if (window.location.href = "http://forum.domain.com:4567") { window.location = "https://forum.domain.com"; } </script> 如果(window.location.href=”http://
<script>
if (window.location.href = "http://forum.domain.com:4567") {
window.location = "https://forum.domain.com";
}
</script>
如果(window.location.href=”http://forum.domain.com:4567") {
window.location=”https://forum.domain.com";
}
您需要使用=
进行比较
if (window.location.href == "http://forum.domain.com:4567") {
window.location = "https://forum.domain.com";
}
单个
=
用于分配。您拥有的代码不会因为赋值有效而失败,然后window.location.href
是一个真实的值。如果check正在设置值,而不是进行比较,这就是您得到循环的原因
改为:
if (window.location.href == "http://forum.domain.com:4567") {
是一个类型,与类型类似,这意味着它应该具有属性
您可以执行以下操作:
if (window.location.port === "4567"){
window.location = "https://forum.domain.com";
}
或者,如果您想要更多的可扩展性:
if (window.location.port === "4567"){
window.location = window.location.href.replace(':' + window.location.port, "");
}
这有点不正确<代码>窗口。位置
不返回实验性的URL
类型。它返回一个不同的位置
类型。这在链接文档中有明确说明。并且它只是一个字符串(在您的示例中使用),而不是您链接到的端口
对象。