Получение URL новой открытой веб-страницы с использованием JavaScript - PullRequest
2 голосов
/ 18 мая 2011

Используя javascript, одна из вещей, которые мне нужно сделать, - это когда нажата кнопка на моей странице указателя, открывается новая веб-страница (новое окно). Эта новая веб-страница перенаправляет на другую веб-страницу, и с помощью функции setTimeout () я закрываю новое окно и возвращаюсь к исходному индексу. У меня вопрос, есть ли способ извлечь URL перенаправленной веб-страницы, чтобы я мог использовать его в своем исходном индексе.

Я пытался,

winRef = window.open(url+param);    
winRef.focus();   
loc = window.location;     
setTimeout("winRef.close()", 3000);

но при этом получается URL моей исходной индексной страницы (а не перенаправленной страницы, которая мне нужна). Есть ли способ сделать это? Благодарю.

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Конечно, вам нужно loc = winRef.location;, а не loc = window.location;, при условии, что winRef - это окно, которое вы открываете. Вам также может понадобиться сделать это в течение тайм-аута, потому что перенаправление не произошло бы сразу.

Вы сможете сделать это, только если перенаправленная страница находится в том же домене, что и страница, на которой вы находитесь. Если он перенаправляет на другой домен, безопасность не позволит вам увидеть новый URL. Если у вас есть контроль над страницей, на которую перенаправляется, вы можете заставить ее сигнализировать об исходной странице, изменив ее хеш.

0 голосов
/ 18 мая 2011

Один из готовых подходов к получению URL-адреса заключается в открытии URL-адреса на стороне сервера и в основном его очистке / пауке и записи, куда перенаправляется URL-адрес. Вы можете сделать это за кулисами, пока клиент переходит на этот URL, или просто сделать это один раз и записать результат.

Возможно, это не самое простое решение, но то, что вы хотите достичь, не должно быть возможным в javascript (опять же, если оно находится в другом домене)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...