Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/37: Рейтинг темы: голосов - 37, средняя оценка - 4.78
evgenybe
1

Как загрузить title родителя из документа в IFrame?

29.08.2007, 18:20. Показов 7023. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я даю :
parent.document.title="перемещения работника";
Но в странице-контейнере получаю заголовок "Undefined" .

А как по-другому это сделать?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2007, 18:20
Ответы с готовыми решениями:

Как в iframe загрузить только body?
пробую так <html> <body> <div id="content"> <iframe src="http://avibor.com"...

Закрытие вкладки-родителя из iframe
При уходе со страницы моего сайта мне нужно зарыть вкладку с которой был выход.

Реализация вывода Title родителя по внешнему ключу
Доброго времени суток! Встал перед проблемой, есть таблица, 4 поля...

Как загрузить содержимое текстового документа в текстовое поле?
Никак не получается загрузить содержимое текстового документа в текстовое поле(textarea). По идее...

7
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
29.08.2007, 18:46 2
Проверьте еще раз. Конструкция parent.document.title прекрасно работает.
0
evgenybe
29.08.2007, 19:32 3
Подумал, что это связано с ивритским charset-ом. Нет. Не связано. Правда, вместо undefined стало "Web Page Dialog"
Написал в родительской странице функцию, которая считывает из document.title значение и записывает его в label. Записывается правильно. Как надо. Но вверху страницы по-прежнему только <STRONG>"Web Page Dialog". </STRONG>
evgenybe
29.08.2007, 20:54 4
Понял, в чем проблема. Title загружается в первый раз. Потом в его Iframe загружается дочерняя страница и она пытается передать родителю Title. Тот получает его, но поскольку родительская страница не перерисовывается, то на ней по-прежнему старое состояние.
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
29.08.2007, 21:49 5
evgenybe (29.08.2007)
Понял, в чем проблема. Title загружается в первый раз. Потом в его Iframe загружается дочерняя страница и она пытается передать родителю Title. Тот получает его, но поскольку родительская страница не перерисовывается, то на ней по-прежнему старое состояние.
Сомневаюсь, что именно в этом проблема....

1. Возможно родительское окно имеет пустой титл: <title> </title>
Тогда нужно чтонибудь в него написать....

2. Проверить будет ли работать в родителе document.title="hello world";
если да, то как вариант, если всё ещё не работает parent.document.title

в iframe:
Javascript
1
2
3
4
5
function A() {
parent.a=1;
parent.abc="hello world 2";
}
A();
в родителе:
Javascript
1
2
3
4
5
6
7
8
9
10
11
var abc="";
var a=0;
function B() {
if (a==1) {
document.title=abc;
alert(abc);
a=0;
}
setTimeout("B()",1000);
}
B();
Если нет, то есть ошибки в на странице в javascript'e....

3. не работает из-за старого или не доработанного браузера...
0
evgenybe
30.08.2007, 13:15 6
Прежде всего не знаю важно это или нет, но родительское окно было открыто командой ShowModalDialog. В <title>Hellow, world!</title> значение вписано изначально.
Теперь в доказательства того, что моя мысль верна:
1.Из дочернего окна я делаю parent.document.title = "ёклмн"
В родителе:
PHP/HTML
1
2
3
4
5
6
7
8
<script language=javascript>
<!--
function fOnLoad(){
 alert(document.title); 
 document.title="Evgeny";
}
//-->
</script>
В вышеприведенном коде строка document.getElementById("lblTitle").innerText = document.title прекрасно срабатывает и показывает в alert "ёклмн". Однако (после alert) в заголовке окна по прежнему "Hellow, world".

2. Если строку document.title="Evgeny"; вынести выше заголовка функции, то тогда это срабатывает. Но только однажды, при первой прорисовке окна. Все дальнейшие попытки (когда родитель уже загружен) ни к чему не приводят. Title таки да меняется, но не перерисовывается.
В JavaScript ошибок нет. Это единственная функция, которая в нем есть и она перед вами.
Броузер IE6 официальный, мы крупнейшая фирма в Израиле "Электрическая Корпорация Израиля" и у нас все лицензионное и проверенное.
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
30.08.2007, 13:31 7
С большой вероятностью можно предположить что проблема именно в открытии окна в модальном диалоге. На эти окна накладывается ряд ограничений, которые только становятся жестче. Можете попробовать использовать библиотеку http://orangoo.com/labs/GreyBox/ GreyBox. Она предназначена для работы со всплывающими окнами.
0
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
30.08.2007, 16:12 8
evgenybe (30.08.2007)
Прежде всего не знаю важно это или нет, но родительское окно было открыто командой ShowModalDialog.
Ну теперь ясно почему оно не изменяло значение титл'а...

Единственно, что могу добавить, что полностью согласен с bazile по поводу использовании библиотеки GreyBox...

Хотя если есть желание написать нечто похожее или своё, наподобие библиотеки GreyBox, то как вариант (основа):
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<html>
<head>
<title> </title>
<script>
function A() {
document.getElementById("fon").style.width=document.body.clientWidth;
document.getElementById("fon").style.height=document.body.clientHeight;
document.getElementById("EditFrame").style.left=document.body.clientWidth/5;
document.getElementById("EditFrame").style.top=document.body.clientHeight/5;
}
function B() {
var a=/block/; 
document.write('<div style="position:absolute;top:0;left:0;text-align:center;background:gold;filter:alpha (opacity=30);display:'+a+'" id="fon <br><b style="position:absolute;color:black;font-size:35px;cursor:hand;" onClick="C(1) Закрыть</b></div><IFRAME src="http://google.com" id="EditFrame" width="60%" height="60%" frameborder="0" contenteditable="true" style="position:absolute;display:'+a+' </IFRAME>');
}
B();
 
function C(gg) {
if (gg==1) {
document.getElementById("fon").style.display="none";
document.getElementById("EditFrame").style.display="none";
}
else {
document.getElementById("fon").style.display="block";
document.getElementById("EditFrame").style.display="block";
}
}
</script>
</head>
<body onLoad="A()" onresize="A() 
<h1 style="cursor:hand" onClick="C(0)  Click here </h1>
</body>
</html>
0
30.08.2007, 16:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2007, 16:12
Помогаю со студенческими работами здесь

Как скриптом из документа в ифрейме А загрузить какой то документ в ифрейм B ?
Всем привет ! Как скриптом из документа в ифрейме А загрузить какой то документ в ифрейм B ?

Как загрузить одну строку в массив из текстового документа (или textbox)
Здравствуйте! помогите пожалуйста! Пытаюсь загрузить одну строку в массив из текстового документа...

Вывод поста, который содержит id категории, её родителя, родителя родителя
Есть 2 таблицы, первая - категории ( category_id, parent_id и т.д), вторая - посты (post_id,...

Как при клике взять ID родителя и скрыть дивы с классом взятого ранее родителя?
Здравствуйте друзья, столкнулся с задачкой для решения которой у меня не хватает опыта JS...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru