设置location.href会删除端口号

时间:2014-12-01 09:03:56

标签: javascript dom browser

我正在开发一个应用程序,其初始页面位于:

https://localhost:8443/#/signin

我想从JavaScript执行重定向到以下位置:

https://localhost:8443/admin

为此,我按如下方式编写代码:

location.href = location.origin + '/admin';

然而,当我执行此操作时,页面浏览到:

https://localhost/admin

我也试过location.assign()同样的结果。

为什么设置location.hreflocation.assign()会从网址中删除端口号?

我可以通过其他方式实现这一目标吗?

1 个答案:

答案 0 :(得分:3)

在@ RyanNghiem said时,添加location.port

location.href = location.origin + ':' + location.port + '/admin';

检查location.port是否存在可能是个好主意,以防止在没有端口的情况下添加冒号:

location.href = location.origin + (location.port ? ':' + location.port : '') + '/admin';