В моем приложении React я открываю новое окно одним нажатием кнопки. Это окно хранится в переменной, и я добавил функции для событий onkeydown
и onbeforeunload
.
Я заметил, что эти функции вызываются только тогда, когда URL-адрес окна пуст.
window.open('', '', '')
Для непустых URL-адресов эти события не запускаются.
window.open('https://wwww.stackoverflow.com', '', '')
Вот codeandbox, демонстрирующий это:
Это как-то связано с самим URL? Пожалуйста, укажите, если я что-то пропустил здесь ...
РЕАЛЬНЫЙ ПРИМЕР ИСПОЛЬЗОВАНИЯ:
В моем внешнем приложении (которое работает на порту 3000) я пытаюсь открыть новое окно, которое открывает внутренний URL-адрес (который работает на порту 8000). Таким образом, при нажатии кнопки в http://localhost:3000 откроется новое окно, указывающее на http://localhost:8000/api/something.
Итак, я добавил nginx в качестве обратного прокси-сервера и указал «/» на 3000 и «/ api» на 8000 и получил доступ к обоим из них через порт 80 следующим образом:
http {
upstream backend {
server 127.0.0.1:8000;
}
upstream frontend {
server 127.0.0.1:3000;
}
server {
listen 80;
location /api {
proxy_pass http://backend;
}
location / {
proxy_pass http://frontend;
}
}
}
Итак, теперь я могу получить доступ к приложению пользовательского интерфейса, перейдя по адресу http://localhost, и при нажатии кнопки откроется новое окно http://localhost/api/something< /сильный>. Разве это не должно решить ту же проблему происхождения?