Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   window(open) получить свойства (https://javascript.ru/forum/events/84595-window-open-poluchit-svojjstva.html)

ronaldo 24.10.2022 14:29

window(open) получить свойства
 
Добрый день.

При открытии окна в новой вкладке через window.open
например так var curWin = window.open("https://www.s......")
почему console.log (curWin.document.location.href);
выдает about:blank, а не "https://www.s......".

Т.е. нет доступа к элементам нового окна.

ksa 24.10.2022 14:42

Цитата:

Сообщение от ronaldo
Т.е. нет доступа к элементам нового окна.

Так и есть... location другого окна, пусть и дочернего, недоступен.

Если это все твои страницы - можно потестить такой вариант :)
Родитель
window.OnChildWindowLoaded = function (href) {
    console.log('Opened ' + href + ' successfully');
};
window.open('Child.html', ...);

Child.html
<script>
window.onload = function () {
    window.opener.OnChildWindowLoaded(location.href);
};
</script>

https://translated.turbopages.org/pr...f-child-window

ronaldo 24.10.2022 15:35

console.log (curWin.document.location.href) - это просто пример доступа к элементам нового окна.

Т.е. из внешнего скрипта доступ к необходимым элементам нового окна не получить?

ksa 24.10.2022 15:55

Цитата:

Сообщение от ronaldo
Т.е. из внешнего скрипта доступ к необходимым элементам нового окна не получить?

Каким именно элементам?

Окно твое?
Того же домена?

ksa 24.10.2022 15:57

ronaldo, статья на эту тему...
var newWin = window.open('/', 'example', 'width=600,height=400');

alert(newWin.location.href); // (*) about:blank, загрузка ещё не началась

newWin.onload = function() {

  // создать div в документе нового окна
  var div = newWin.document.createElement('div'),
      body = newWin.document.body;

  div.innerHTML = 'Добро пожаловать!'
  div.style.fontSize = '30px'

  // вставить первым элементом в body нового окна
  body.insertBefore(div, body.firstChild);
}

https://learn.javascript.ru/window-methods

ronaldo 28.10.2022 11:38

Окно не мое, но того же домена.

К злементам "a" например.

ronaldo 28.10.2022 14:10

Такое:

Uncaught DOMException: Blocked a frame with origin "https://www...." from accessing a cross-origin frame.
at <anonymous>:14:21

Это при переходе в новую вкладку с предидущей вкладки через
var curWin = window.open("https://www.s......")

ronaldo 28.10.2022 14:30

И выполнении тестового

console.log (curWin.document.location.href);

Barnyman 02.11.2022 20:53

Привет. А адрес ссылки точно указан?:victory:


Часовой пояс GMT +3, время: 01:57.