Чтобы обнаружить динамическую загрузку фрейма

Чтобы обнаружить динамическую загрузку фрейма

Я работаю с такой рамной конструкцией. Рассматривайте это изображение как краткий обзор более сложного дизайна.

Я рекурсивно повторяю каждый кадр, чтобы добавить к нему слушателей событий. Для самого первого $(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, поскольку эта работа является общей для любого веб-приложения (независимо от того, использует ли оно фрейм).

Пожалуйста, предложите мне какой-нибудь способ справиться с такой ситуацией.

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

Terry 14.11.2018 11:11

Слушатели добавлены вне кадра 2.2?

Teemu 14.11.2018 11:20

@Terry На самом деле, это не моя веб-страница. Я должен иметь дело с этим как часть надстройки браузера.

ShubhamWanne 14.11.2018 12:38

@Teemu В первый раз слушатели добавляются почти на всю веб-страницу.

ShubhamWanne 14.11.2018 12:39

Но где? На самой верхней странице или где-то еще в джунглях этого фрейма? И, как сказал Терри, наборы фреймов и фреймы устарели, подготовьтесь к созданию всего в HTML4, если вам нужна широкая поддержка браузера для вашего приложения. F.e. IE9 вообще не показывает наборы фреймов и фреймы при наличии HTML5 DTD, и многие браузеры, которые их отображают, автоматически переходят на HTML4. Это означает отсутствие поддержки множества установленных в настоящее время API, CSS и элементов, а также отсутствие ES6, только ES5 JavaScript.

Teemu 14.11.2018 13:32

@Teemu Так это приложение WAS. Создано давным-давно, поскольку некоторые люди все еще используют его, я хочу, чтобы надстройка для моего браузера работала и с этим. Надеюсь, вы поняли мою проблему.

ShubhamWanne 15.11.2018 06:32

Если бы вы просто ответили на вопрос ... Куда добавлены слушатели, на какой странице?

Teemu 15.11.2018 06:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
7
62
0

Другие вопросы по теме