Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果URL包含使用JavaScript重定向的特定端口_Javascript - Fatal编程技术网

如果URL包含使用JavaScript重定向的特定端口

如果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://

我需要重定向一个url,例如 到代码将在站点范围内运行,因此它只能在访问者访问时重定向

我尝试过这个,但它循环:

<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
类型。它返回一个不同的
位置
类型。这在链接文档中有明确说明。并且它只是一个字符串(在您的示例中使用),而不是您链接到的
端口
对象。