Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Запись заголовка дочернего окна в родительское (https://javascript.ru/forum/events/2689-zapis-zagolovka-dochernego-okna-v-roditelskoe.html)

Ak1ra 01.02.2009 15:22

Запись заголовка дочернего окна в родительское
 
Здравствуйте.
Есть маленький скрипт:

<script type="text/javascript">
var win = window.open ('http://javascript.ru/');
document.writeln (win.document.title);
win.close ();
</script>

Но он не работает, то есть title дочернего окна в родительское не записывается. Прошу подсказать, почему не работает, и что сделать, чтоб работало...

Zibba 01.02.2009 16:00

document.write(win.document.title);

Ak1ra 01.02.2009 16:17

угу, так тоже не работает...

Zibba 01.02.2009 16:35

Ну просто Вы когда создаете дочернее окно пытаетесь загрузить страницу находящуюся на другом домене http://javascript.ru/ , а это протеворечит политики безопасности. Поэтому у Вас и не работает! Попробуйте создать на своем домене(локальной машине страницу) и указывать в качестве содержимого открываемого окна ее, тогда и будут решены Ваши проблемы окончательно.

Ak1ra 01.02.2009 17:10

Страница-то грузится, а её заголовок не записыватся.

Андрей Параничев 01.02.2009 18:07

Ak1ra,
Страница грузится, но доступа к ней из JavaScript нету.

Ak1ra 01.02.2009 18:45

Понятно, спасибо :)

Zibba 01.02.2009 18:48

В IE получается получить title открытого окна, но только при условии что страница открывается на localhost. :)

Данный код отработал :)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Untitled Document</title>
	</head>
	<body>
		<script type="text/javascript">
				win = window.open('mypage.html');
				document.write(win.document.title+'<br>');
		</script>
		<span onclick="alert(win.document.title)">Получить title открытого окна</span>
	</body>
</html>

Ak1ra 07.02.2009 21:48

Ещё вопрос, а можна получить массив дочерних окон? Типа как window.frames [] для фреймов, но мне надо для окон.

Андрей Параничев 07.02.2009 22:50

Ak1ra,
Нет, можно только организовать такой массив самому. При открытии окна просто добавлять новое окно в этот массив.


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