Вызывание функции в iframe снаружи iframe [дубликат]

Ab-so-frickin-lutely

Там является ничем худшим, чем Архитектор, который потерял связь с действительностью.

Это - часть задания, чтобы мыслить разумно и Ваша голова в облаках.

10
задан Ates Goral 2 November 2009 в 19:49
поделиться

5 ответов

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

window. [FrameName] .putme ();

1
ответ дан 3 December 2019 в 23:13
поделиться
window.frames['frameName'].putme();

Обратите внимание, что это обычно работает только в том случае, если iframe ссылается на страницу в том же домене. Браузеры ограничивают доступ к страницам внутри фреймов, принадлежащих другому домену, по соображениям безопасности.

9
ответ дан 3 December 2019 в 23:13
поделиться

Вы можете получить доступ к iframe с его именем:

foo.putme();

Функции, объявленные глобально внутри страницы iframe, станут членами объекта окна для этого iframe. Вы можете получить доступ к объекту окна iframe с именем iframe.

Чтобы это работало, ваш iframe должен иметь атрибут имени:

<iframe name="foo" ...>

Кроме того, главная страница и страница iframe должны быть из одного домена.

0
ответ дан 3 December 2019 в 23:13
поделиться

Если iframe находится в другом домене, чем внешняя страница, с большими трудностями или вообще отсутствует.

Как правило, браузер предотвращает доступ javascript к коду из другого домена, но если вы контролируете обе страницы, есть несколько хитростей, чтобы что-то заработало. Более или менее.

Например, вы можете изменить фрагмент URL-адреса iFrame с внешнего, опросить фрагмент изнутри iframe и вызвать эту функцию. Похожий трюк с названием окна.

1
ответ дан 3 December 2019 в 23:13
поделиться

Дайте фрейму имя и идентификатор - оба идентичны. window.frameNameOrId_.functionName ()

Оба фрейма должны находиться в одном домене (хотя есть способы обойти это в ограниченной степени)

0
ответ дан 3 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: