В настоящее время я пытаюсь манипулировать дочерним окном с javascript, написанным в его родительском. До сих пор у меня есть следующее:javascript манипулирует дочерним окном от его родителя
<!doctype html />
<html>
<head>
<script type="text/javascript">
var otherW;
function open_win() {
otherW = window.open("https://www.youtube.com/", "otherW", "width=500, height=500, resizable");
setTimeout("delay()", 5000);
}
function delay() {
otherW.moveTo(20, 50);
}
</script>
<title>Parent</title>
</head>
<body>
<input type="button" onclick="open_win()" />
</body>
</html>
По какой-то причине это не работает. Возможно ли вообще манипулировать дочерним окном, когда в него загружается другой веб-сайт. Приведенный выше код отлично работает, когда я передаю пустую строку вместо URL-адреса youtube.
То, что я пытаюсь сделать в самом начале, было создание сценария в родительском окне, сценарий должен был открыть конкретный сайт в новом дочернем окне при нажатии кнопки. Затем, используя ссылку на новое окно, я должен был установить значения для полей ввода типа = «текст». К сожалению, это не сработало, поэтому я попытался с гораздо более легким и легким тестом и, наконец, понял, что даже что-то простое, как вышеприведенный код не работает. Обратите внимание, что если я заменил метод moveTo на close(), он отлично работает - дочернее окно закрывается через 5 секунд. Я попробовал это с Firefox. В Opera он только открывает дочернее окно.
Любая помощь/предложения/идеи будут оценены! Заранее спасибо!
Похоже, 'moveTo()' является свойством объекта 'window' (внутри открытого окна). Вы не можете получить доступ к «окну» на третьей странице. – Teemu
Тогда я предполагаю, что otherW.document.getElementsByTagName ("name") [o] .value = "somevalue" не будет работать, спросите хорошо? – Borislav
Да, ты прав. Это называется [политика одного происхождения] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript). Даже если вы откроете страницу со своего домена во всплывающем окне, у некоторых браузеров есть опция, которая может блокировать метод moveTo(). – Teemu