Запись заголовка дочернего окна в родительское
Здравствуйте.
Есть маленький скрипт: <script type="text/javascript"> var win = window.open ('http://javascript.ru/'); document.writeln (win.document.title); win.close (); </script> Но он не работает, то есть title дочернего окна в родительское не записывается. Прошу подсказать, почему не работает, и что сделать, чтоб работало... |
document.write(win.document.title); |
угу, так тоже не работает...
|
Ну просто Вы когда создаете дочернее окно пытаетесь загрузить страницу находящуюся на другом домене http://javascript.ru/ , а это протеворечит политики безопасности. Поэтому у Вас и не работает! Попробуйте создать на своем домене(локальной машине страницу) и указывать в качестве содержимого открываемого окна ее, тогда и будут решены Ваши проблемы окончательно.
|
Страница-то грузится, а её заголовок не записыватся.
|
Ak1ra,
Страница грузится, но доступа к ней из JavaScript нету. |
Понятно, спасибо :)
|
В 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> |
Ещё вопрос, а можна получить массив дочерних окон? Типа как window.frames [] для фреймов, но мне надо для окон.
|
Ak1ra,
Нет, можно только организовать такой массив самому. При открытии окна просто добавлять новое окно в этот массив. |
Это и так понятно, просто у меня окна открываются мотодом window.links [i].click (). Жалко, что нет, их надо как-то потом закрывать...
|
Ну в функции click() судя по всему и происходит открытие окна. Созраняйте там в массив, например win[i] ссылку на открытое окно, и соответственно закрыть будет тоже легко, win[i].close();
|
Я так уже хотел сделать.
var win=document.links [0].click (); //... win.close (); Окно открывает, но выдаёт ошибку в последней строке: "win - есть null или не является объектом"... |
потому что win в вашем случае - это ссылка на document.links [0].click ();
если бы метод click(); возвращал ссылку на объект window, то тогда бы сработало. А так не известно что он возвращает (это нужно Вам уже смотреть), поэтому и ошибка. |
Часовой пояс GMT +3, время: 17:17. |