![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Никак не получается достать массив из документа, загруженного в IFRAME.
Допустим есть 2 файла: index.htm:
test.htm:
и вот как теперь из index.htm прочитать массив mas, который загружен в IFRAME ? |
||||
|
|||||
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Ciber SLasH
может создать функцию в test.htm, которая возвращала бы массив???
А вызывать в index.htm так:
В NeedArray массив P.S: все писал от руки не проверял... поэтому могут быть ошикбки. -------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Поискав в сети инфу по запросу "contentDocument" наткнулся на статью, в которой говорится, что из документа, в котором есть IFRAME, не добраться до данных документа, загруженных в этот IFRAME.
Источник: http://www.kruglov.ru/articles/nontrivialjs/ |
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Ciber SLasH
Почему нельзя, можно Под ИЕ и Мозиллой нужно обращатся IFRAME.contentWindow.document. Под Opera так: parent.IFRAME.document. Где IFRAME - id фрейма. Это сообщение отредактировал(а) PHP-DIRECTOR - 21.6.2005, 09:54 -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
А Круглов человек странный он все еще считает что есть люди которые пользуются Оперой 5, 6. Вот в них возможно и нельзя.
-------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Всё это я пробовал -- нифига не получилось. Проведи эксперимент с поими 2-мя документами. |
|||
|
||||
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
В lala4.html
Это сообщение отредактировал(а) PHP-DIRECTOR - 21.6.2005, 10:16 -------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Кстати, данный пример работает и в новой Opere 8.01
Вероятно, сделали поддержку стандартного обращения. -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
2PHP-DIRECTOR:
Хм, я ведь делал тоже самое по сути, но у меня ничего не получалось. Скорее всего из-за того, что я сразу пытался "достучаться" до содержимого IFRAME'а, а он ещё не успевал подгрузиться. Т.е. если ставить на кнопку функцию обработки, но всё ништяк. 10х, натолкнул на мысль... (с меня флюс |
|||
|
||||
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Появилась кой-какая проблема.
В Firefox этот код не работает: index.htm:
test.htm:
Как только загружается index.htm, должна показываться надпись: IFRAME content is: "...". Проверял в IE и Opera -- здесь всё нормально, а вот Лису рогом упёрлась. Как победить? |
||||
|
|||||
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Ciber SLasH
ох ты мне и задачку дал :-) Двадцать минут тупо смотрел на скрипт все ок... потом глянул на ифрейм и со стула упал
замени на:
Вот и весь прикол -------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Да, это я блин забыл исправить...
Исправил, но в Лисе по прежднему не работает. |
|||
|
||||
| Sardar |
|
||||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Нельзя переносить DOM ноды с одного документа в другой напрямую через appendChild, всё остальное можно и даже в "старых" браузерах.
Более страшного изврата я не видел Смотрим и думаем почему это работает
test.htm
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||||
|
|||||||||
| Ciber SLasH |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
2Sardar:
10х за пример Твой пример работает в IE, Firefox, но не работает в Опере. В Опере вот это: ifrm.contentWindow == undefined в ней нужно через: ifrm.contentDocument И появляется загвоздка с вызовом функции из IFRAME. Вот так не пашет в Опере: ifrm_cont.MyFunc() и так тоже: ifrm_cont.window.MyFunc() Можно извратиться, чтобы работало во всех 3-х бродилках, но тогда нужно импортировать скрипт из IFRAME в главный документ:
где элемент с ID='jscode' находится в главном документе:
а элемент с ID='ifr_js' находится в документе IFRAME-a:
Может можно как-то без импорта скрипта обойтись, чтобы работало в этих 3-х бродилках ? |
||||||
|
|||||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Точно, в опере же не существует contentWindow...
Лучше не извращаться с текстом скриптов, а вызыват родительские функции из ифрейма: opener.takeValue(mas); -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |