Я работаю с такой рамной конструкцией. Рассматривайте это изображение как краткий обзор более сложного дизайна.
Я рекурсивно повторяю каждый кадр, чтобы добавить к нему слушателей событий.
Для самого первого $(window).load() я могу успешно добавлять слушателей.
Но настоящая уловка; Фрейм 2.1 - это навигационный фрейм, а фрейм 2.2 - это детальный фрейм. Как следует из названия, всякий раз, когда мы нажимаем на любую ссылку 2.1, фрейм 2.2 загружается снова. Из-за этого он теряет привязанных слушателей. Поскольку загружен новый кадр, я не могу отслеживать только что загруженный кадр.
Хотя я пробовал
element.onunload = function(){
#add listeners recursively using element.parent
}
//where element is of type window
//created using
/*for(var i=0;i<window.frames.length;i++){
var element = window.frames[i];
}
*/
Я тоже пробовал ('frame').load, но ничего не вышло.
Я не могу использовать #frameID, поскольку эта работа является общей для любого веб-приложения (независимо от того, использует ли оно фрейм).
Пожалуйста, предложите мне какой-нибудь способ справиться с такой ситуацией.
Слушатели добавлены вне кадра 2.2?
@Terry На самом деле, это не моя веб-страница. Я должен иметь дело с этим как часть надстройки браузера.
@Teemu В первый раз слушатели добавляются почти на всю веб-страницу.
Но где? На самой верхней странице или где-то еще в джунглях этого фрейма? И, как сказал Терри, наборы фреймов и фреймы устарели, подготовьтесь к созданию всего в HTML4, если вам нужна широкая поддержка браузера для вашего приложения. F.e. IE9 вообще не показывает наборы фреймов и фреймы при наличии HTML5 DTD, и многие браузеры, которые их отображают, автоматически переходят на HTML4. Это означает отсутствие поддержки множества установленных в настоящее время API, CSS и элементов, а также отсутствие ES6, только ES5 JavaScript.
@Teemu Так это приложение WAS. Создано давным-давно, поскольку некоторые люди все еще используют его, я хочу, чтобы надстройка для моего браузера работала и с этим. Надеюсь, вы поняли мою проблему.
Если бы вы просто ответили на вопрос ... Куда добавлены слушатели, на какой странице?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Frameset устарел довольно давно. Тебе действительно не стоит использовать его сейчас.