Привет, народ! У меня возникла проблема с iframe в моем приложении. Оно работает внутри iframe на основной странице. Когда основная страница загружается, все нормально. Но вот в чем загвоздка: есть ссылка админа, которая должна загружать другую страницу в iframe. И тут начинается странное.
Когда я кликаю на ссылку админа, новая страница загружается, но потом почему-то снова запускается скрипт document.ready с основной страницы. Он загружает первоначальный src iframe, а не тот, который я хотел для админки.
Такое ощущение, будто изменение src iframe заставляет всю основную страницу перезагружаться. Кто-нибудь сталкивался с подобным? Может, я что-то очевидное упускаю?
А может, проблема в кэшировании? Попробуй добавить случайный параметр к URL админки, типа ?rand=123. Это заставит браузер загрузить свежую версию. Еще вариант - проверь, нет ли где-то автоматического обновления страницы через meta тег или JS. Такое тоже может вызывать неожиданные перезагрузки. Кстати, а логи в консоли что-нибудь показывают при клике на ссылку?
Похоже, у тебя классическая проблема с событиями в iframe. Когда меняешь src, браузер действительно может перезагрузить основную страницу. Чтобы этого избежать, попробуй использовать JavaScript для загрузки контента в iframe, а не менять src напрямую.
Например, можно использовать fetch() для получения новой страницы и затем вставить ее содержимое в iframe через contentDocument. Так ты сохранишь контроль над процессом загрузки и избежишь нежелательных перезагрузок.
Еще совет: проверь, нет ли у тебя лишних обработчиков событий на основной странице. иногда они могут срабатывать неожиданно при работе с iframe.
Тут может быть дело в неправильной обработке событий. Попробуй использовать event.preventDefault() при клике на ссылку админа, чтобы остановить стандартное поведение браузера. Затем можно программно менять содержимое iframe через JavaScript.
Еще вариант - использовать postMessage для общения между основной страницей и iframe. Так ты сможешь передавать нужные данные без полной перезагрузки.
А вообще, может стоит подумать об альтернативной архитектуре? Iframe не всегда лучшее решение для админки.