appendChild не работает в новом окне, используя window.open () - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблема со скриптом, который хорошо работает, когда я запускаю его на текущей вкладке, но когда я пытаюсь использовать его в другой вдове, используя window.open, он не работает. Упрощенная версия кода выглядит следующим образом:

var win = window.open("some_url");
var new_element = win.document.createElement('div');
new_element.textContent = "some text";
win.document.head.appendChild(new_element);

Я использую тестер сниппетов chrome в инструментах разработчика, и он прекрасно работает, когда я запускаю этот фрагмент в текущем окне. Я знаю, что это не работает в новой вдове, потому что проверка не показывает никаких новых элементов. Кто-нибудь знает, почему это не сработает? Я ничего не знаю о порядке создания DOM и так далее. Может быть, я не могу добавить к нему, пока он не загружен?

1 Ответ

1 голос
/ 21 апреля 2020

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

...