как вызвать функцию JavaScript в главном кадре?

Это кажется действительно простым, но как я вызываю функцию JavaScript, это определяется в HTML верхнего уровня от дочернего кадра?

top html doc
 - 1st level frame
    - 2nd level frame

мой главный документ HTML имеет функцию, вызванную testFn (). В 2-м кадре уровня у меня есть кнопка с onclick="top.testFn();" но это не называет testFn (). В Firebug, если я использую часы для выполнения top.testFn(); это говорит TypeError: testFn () не является функцией.

Это должно все просто работать - в этом случае это - проблема с моими документами или является там некоторым другим способом вызвать функции в окне верхнего уровня?

6
задан Rory 18 June 2010 в 11:23
поделиться

3 ответа

Ваш код выглядит правильно. Если он говорит, что testFn () не является функцией , то, возможно, это не так. Вы пробовали установить onload = "testFn ();" в вашего верхнего фрейма, чтобы убедиться, что это работает?

Может быть какая-то ошибка javascript, которая приводит к к коду, создающему вашу функцию testFn , которая не завершается успешно.

4
ответ дан 17 December 2019 в 02:24
поделиться

Собственно, именно так вы это делаете.

Уловка заключается в отсутствии синтаксической ошибки где-либо в JavaScript на этой HTML-странице верхнего уровня: -)

0
ответ дан 17 December 2019 в 02:24
поделиться

Пробовали ли вы вызвать его так:

onclick="parent.parent.testFn();"

Я предполагаю, что у вас 2-й фрейм находится внутри 1-го.

2
ответ дан 17 December 2019 в 02:24
поделиться
Другие вопросы по тегам:

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