Методы получения ответа окна с использованием window.open в JavaScript

Чтобы получить ответ из окна, открытого с помощью метода window.openв JavaScript, вы можете использовать несколько подходов. Вот несколько методов с примерами кода:

Метод 1. Использование события load

const newWindow = window.open('https://example.com');
newWindow.addEventListener('load', () => {
  const response = newWindow.document.body.innerHTML;
  console.log(response);
});

Метод 2: использование события messageи postMessage
В этом методе вы можете использовать метод postMessageдля отправки сообщения из открытого окна в родительское окно и получить ответ.
В открытом окне:

// Opened window
window.addEventListener('DOMContentLoaded', () => {
  // Send a message to the parent window
  window.parent.postMessage('Hello from the opened window!', '*');
});

В родительском окне:

// Parent window
window.addEventListener('message', (event) => {
  // Check the origin of the message if needed
  if (event.origin !== 'https://example.com') return;

  // Retrieve the response
  const response = event.data;
  console.log(response);
});

Метод 3: использование ссылки на окно.
Если открытое окно находится в том же домене, вы можете напрямую ссылаться на него и получать доступ к его свойствам и методам.

const newWindow = window.open('https://example.com');
const response = newWindow.document.body.innerHTML;
console.log(response);

Это всего лишь несколько примеров того, как можно получить ответ из окна, открытого с помощью window.openв JavaScript. Помните, что ограничения на перекрестное происхождение могут применяться в зависимости от домена открытого окна.