вызов функции javascript внутри файла .js, который находится в iframe - PullRequest
0 голосов
/ 28 июля 2010

У меня есть страница default.aspx, которая содержит iframe, источником которой является страница default.htm.В свою очередь default.htm имеет ссылку на файл скрипта ().Можно ли получить доступ к функциям в файле сценария на моей странице default.aspx? Если да, то как?

Ответы [ 2 ]

1 голос
/ 28 июля 2010

Да, если страница в iframe была загружена из того же домена, что и страница, содержащая iframe (это политика одного источника).

Обратите внимание, что и iframe, и содержащая страница имеют глобальныйобъект 'window', но они разные.

Чтобы получить доступ к переменным и функциям из сценариев во внутреннем фрейме с внешней страницы, вы должны иметь возможность ссылаться на iframe как на объект.Например, если это единственный iframe на странице, вы можете просто добавить window.frames[0]. к любому имени переменной, и вы будете ссылаться на имя, объявленное сценариями в iframe.Если это не так, то вам может потребоваться найти iframe с помощью идентификатора:

var iframewindow = document.getElementById('myframe').contentWindow;
// read the content of the 'myvar' variable which was set within that frame.
alert(iframewindow.myvar);

Чтобы получить доступ к переменным и функциям внешней страницы с внутренней страницы, вы должны добавить window.parent. к их началу..

0 голосов
/ 17 августа 2010

Предполагая, что default.htm находится в том же домене, что и default.aspx, Вы можете использовать следующий javascript для вызова функций в default.htm:

var myIframe = document.getElementById("iframe_id").contentWindow;
myIframe.func1();
myIframe.func2();
myIframe.func3();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...