#javascript #angular #typescript #cross-domain
#javascript #angular #typescript #междоменный
Вопрос:
Это проект Angular. На моей странице A у меня есть ссылка, которая ссылается на страницу другого происхождения, HTML, как показано ниже:
...
<a href="https://another.origin"> PAGE B </a>
...
Пользователь открыл страницу B в новом окне со страницы A. В этот момент A все еще открыт.
Теперь я хочу отправить сообщение в B, вот так referenceOfB.postmessage(msg, bOrigin)
Поэтому мне нужно получить ссылку на B.
Я попытался window.open
получить ссылку на B, но получил null, не уверен, что это правильный подход к нему. Кто-нибудь может дать несколько советов о том, как это сделать?
Ответ №1:
Вы можете использовать window.open
для создания нового окна — эта функция возвращает ссылку на созданное окно. Затем вы можете отправить сообщение в is using postmessage
.
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
var w = window.open('https://google.com')
w.postMessage('hello', "*"); // can use target domain instead of *
Комментарии:
1. Как насчет того, хочу ли я сослаться на новое окно, которое открывается пользователем, но не моим
window.open
методом?2. пользователем на вашем сайте? Я бы подумал, что вы должны перехватить его предполагаемый щелчок по ссылке и использовать window.open вместо этого.