Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   обращение к элементам родительского окна не работает в Opera, Chrome (https://javascript.ru/forum/events/49858-obrashhenie-k-ehlementam-roditelskogo-okna-ne-rabotaet-v-opera-chrome.html)

krapiva777 31.08.2014 21:34

обращение к элементам родительского окна не работает в Opera, Chrome
 
Имеется два файла: new 4.html:

<html> 
	<head> 
		<meta charset="utf-8"> 
	</head> 
	<body> 
<button onclick="setPreflop()">Открыть окно</button>
		<textarea id="d1">aaa</textarea>
		<script> 
			function setPreflop(){
				w = window.open('new  5.html', 'Тест', "height=400; width=950");
				w.focus();
			}
		</script> 
	</body> 
</html>


и new 5.html:

<html> 
	<head> 
		<meta charset="utf-8"> 
	</head> 
	<body> 
		<button id="sub" onclick="sender()">OK</button>
		<script> 
			function sender(){
		                window.opener.document.getElementById("d1").value = 'abc';
				window.opener.focus(); 
				window.close();
			}
		</script> 
	</body> 
</html>


При нажатии кнопки "Открыть окно" на new 4 открывается всплывающее окно с кнопкой "ОК", которая ДОЛЖНА закрывать всплывающее окно и записывать в родительское окно "abc" в текстарею. Мозила, ИЕ 9 - полет отличный; Опера, Хром - &!%&ть! НЕ РАБОТАЕТ (Окно открывает, нажатие кнопки "ОК" игнорирует). Подскажите кроссбраузерный аналог window.opener.document.getElementById("d1").value = 'abc'; или просто подскажите, что делать.

ixth 31.08.2014 22:30

Заглядывай изредка в консоль:
Цитата:

Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
Это из-за того, что страницы запускаются по протоколу file://. На хосте все прекрасно работает: http://stuff.ixth.net/krapiva/1.html

krapiva777 01.09.2014 18:25

Большое спасибо)


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