Доступ к функции JavaScript в программно iFrame - PullRequest
0 голосов
/ 03 февраля 2010

Я пытаюсь получить доступ к функции JavaScript в программно созданном iFrame из функции JavaScript снаружи.Я пробовал несколько способов, но безуспешно.window.frames['frameid']

Не могли бы вы предоставить мне правильный синтаксис?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2010

Да, они находятся в одном домене. На самом деле, я использую ExtJS Framework. У меня есть JSP внутри iFrame, я хотел бы вызвать функции javascript в JSP из функции javascript снаружи, которая в основном находится в файле JS.

0 голосов
/ 03 февраля 2010

Вот более подходящий пример, основанный на ваших комментариях;)

Главная страница

<html>
<head>
    <title>Main Page</title>
</head>
<body>
    <iframe src="iframe.html"></iframe>
    <script>
        var receiver = {
          listen:function(msg){
            alert(msg);
          }
        };
    </script>
</body>
</html>

Страница iframe: iframe.html , но может быть JSP с аналогичным выводом

<html>
<head>
    <title>iframe page</title>
    <script src="external.js"></script>
</head>
<body>
    <!-- some content here -->
    <script>
        externalFunction('hello', window);
    </script>
</body>
</html>

И файл JS: external.js

function externalFunction(msg, w){
    w.parent.receiver.listen(msg);
}

Поместите эти 3 файла в один каталог и откройте главную страницу. Вы должны получить всплывающее окно с "привет".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...