Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как достать перем. JS из IFRAME ? 
:(
    Опции темы
Ciber SLasH
Дата 22.6.2005, 02:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Что-то не работает smile
Пишу: ifrm_cont.opener.MyFunc()
или: opener.MyFunc()
и то и другое == undefined.
PM   Вверх
Black
Дата 22.6.2005, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



На заметку:

в новой Opere 8.01 contentWindow существует, поэтому пример Sardara там успешно работает. Добавили-таки викинги поддержку.

Жаль, никто еще Oper'ой 8.01 не пользуется smile


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Sardar
Дата 22.6.2005, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Ciber @ 22.6.2005, 01:44)
Что-то не работает smile
Пишу: ifrm_cont.opener.MyFunc()

Нет, ты должен из ифрейма писать opener, рядом с твоим mas smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ciber SLasH
Дата 22.6.2005, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Цитата(Sardar @ 22.6.2005, 23:48)
Нет, ты должен из ифрейма писать opener, рядом с твоим mas smile

Всё равно не пашет smile
Пишу в скрипте test.htm: opener.mas = [1, 2];
В index.htm: alert(ifrm_cont.mas)
Бродилка ругается: opener есть null
PM   Вверх
Sardar
Дата 22.6.2005, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Ciber @ 22.6.2005, 22:06)
Пишу в скрипте test.htm: opener.mas = [1, 2];
В index.htm: alert(ifrm_cont.mas)

Какой кошмар smile
Повторяю ты достаёшь через contentDocument ссылку на document. Глобальным контекстом скриптов являеться window, а получить window из document по моему нельзя. Вывод: не паримся и пишем
в родительском окне(index.htm):
Код
function takeData(m) {
  alert(m);
}

В дочернем окне(test.htm):
Код
if(opener!=self) opener.takeData([1, 2, "test"]);



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ciber SLasH
Дата 23.6.2005, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Написал так, как ты сказал, но в test.htm opener всегда равен null. smile
Ведь окно, то у нас не открывается, а загружается в IFRAME -- может поэтому opener равен null ?
PM   Вверх
Sardar
Дата 23.6.2005, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Верно, тогда parent, это точно сработает. А opener по логике вещей не только в открываемых окошках есть.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ciber SLasH
Дата 23.6.2005, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



10x огромный тебе Sardar !! smile smile
PM   Вверх
Aliance
Дата 24.6.2005, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(Sardar @ 23.6.2005, 00:58)
получить window из document нельзя

Разве?
Код

element.ownerDocument.parentWindow

Не то?
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 24.6.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Aliance держи плюс, век живи - век учись smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Andre Zak
Дата 29.9.2005, 14:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Все перечисленное не работает если во фрейм подгружать страницу с внешнего сервера? Проверил, у меня не получилось. Может причиной является:
Цитата
Второе: Иногда возникает проблема обращения к свойству документа, загруженного в iframe (или frame, или открытого через window.open). Это происходит в основном потому, что этот документ мы берем с другого сайта. Тут уж ничего не поделаешь - такова политика безопасности браузеров. Источник: _http://www.kruglov.ru/articles/nontrivialjs/


Или можно как-то это обойти. Мне нужно получить содержимое страницы загруженной во фрейм с внешнего хоста.
  Вверх
Aliance
Дата 29.9.2005, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



страницы должны быть с одного домена. Политика безопастности!
PM MAIL WWW ICQ Skype   Вверх
Greendrake
Дата 8.12.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

Репутация: нет
Всего: 6



Цитата(Aliance @ 24.6.2005,  12:33)
Код

element.ownerDocument.parentWindow

Не то?

Так то же IE & Opera only smile. Как это обойти?

Пока что придумал только при создании окон и фреймов выполнять в них:
Код

if (!document.parentWindow) document.parentWindow = window;

PM MAIL   Вверх
Ghirik
Дата 10.12.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Так долго можно париться, здесь работает... а здесь не работает...
Вы укажите браузерам доктип во всех файлах со ссылкой на документ, например так:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


обычно это помогает избежать кривое восприятие браузерами "по умолчанию"...


P.S. Не заметил второй страницы, отвечал на первую... smile 

Хотя, не отказываюсь от своих слов...

Это сообщение отредактировал(а) Ghirik - 10.12.2007, 10:43


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0582 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.