2014-12-01 3 views
0

Я разрабатываю приложение, у которого начальная страница находится по адресу:Установка location.href удаляет номер порта

https://localhost:8443/#/signin

Я хочу, чтобы выполнить перенаправление с JavaScript по следующему адресу:

https://localhost:8443/admin

Для этого я пишу код следующим образом:

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

Однако, когда я выполнить это, страница переходит на:

https://localhost/admin

Я также попытался location.assign() с тем же результатом.

Почему установка location.href или location.assign() удаляет номер порта из URL-адреса?

Любой другой способ я могу выполнить это?

+4

Вы можете добавить "location.port" –

+0

Где я могу это сделать? Поскольку момент, когда я устанавливал 'location.href', запускает навигацию. И навигационная страница не существует. – codematix

ответ

2

Как @RyanNghiemsaid, добавьте location.port:

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

Может быть, это хорошая идея, чтобы проверить, если location.port существует, чтобы предотвратить двоеточие от добавления без порта:

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

Но 'location.origin' уже дает мне' https: // localhost: 8443'. Также, когда я попробовал 'location.href = location.protocol + '// + location.hostname +': '+ location.port +'/admin ';', он все равно не работает. – codematix

+1

Хм, так и есть. 'location.href = location.origin + '/ admin';' на самом деле работает для меня ... – Cerbrus

+0

Я тестирую на Chrome 39.0.2171.71 (64-разрядный) на Mac OSX. Я пробовал то же самое на Firefox 33.1, и его та же проблема. – codematix

Смежные вопросы