Это кажется действительно простым, но как я вызываю функцию JavaScript, это определяется в HTML верхнего уровня от дочернего кадра?
top html doc
- 1st level frame
- 2nd level frame
мой главный документ HTML имеет функцию, вызванную testFn (). В 2-м кадре уровня у меня есть кнопка с onclick="top.testFn();"
но это не называет testFn (). В Firebug, если я использую часы для выполнения top.testFn();
это говорит TypeError: testFn () не является функцией.
Это должно все просто работать - в этом случае это - проблема с моими документами или является там некоторым другим способом вызвать функции в окне верхнего уровня?
Ваш код выглядит правильно. Если он говорит, что testFn () не является функцией
, то, возможно, это не так. Вы пробовали установить onload = "testFn ();"
в
вашего верхнего фрейма, чтобы убедиться, что это работает?
Может быть какая-то ошибка javascript, которая приводит к к коду, создающему вашу функцию testFn
, которая не завершается успешно.
Собственно, именно так вы это делаете.
Уловка заключается в отсутствии синтаксической ошибки где-либо в JavaScript на этой HTML-странице верхнего уровня: -)
Пробовали ли вы вызвать его так:
onclick="parent.parent.testFn();"
Я предполагаю, что у вас 2-й фрейм находится внутри 1-го.