Красота ‹ iframe ›
То, как мы создаем и проектируем веб-приложения и сайты, сильно изменилось за последнее десятилетие. Сегодняшнему пользователю больше не нужно страдать от ужасного удобства использования веб-сайтов на основе фреймов, где вы могли бы легко часами искать дорогу. К счастью, наборы фреймов — это архаичный макет, который больше не используется. Тем не менее, их преемник, HTML-тег ‹ iframe ›, приобрел большую популярность по целому ряду причин.
Встроенный фрейм, или iframe, — это отличный инструмент для встраивания различного контента, такого как видео, социальные сети, карты и т. д., в ваше веб-приложение. Это довольно простой и легкий в освоении тег, который, по сути, позволяет вам показывать посетителям изолированную веб-страницу в пределах основного вида веб-страницы. Так в чем же дело, спросите вы? Ну, есть несколько причин, по которым вы можете их использовать:
Гибкость — извлекайте любой сторонний (или ваш собственный!) мультимедийный контент и отображайте его на своем веб-сайте, не слишком беспокоясь о базовом коде и стилях. Он легко смешивается с вашей собственной веб-страницей независимо от используемых технологий и правил CSS.
Задел на будущее — ваша собственная веб-страница надежно изолирована от элемента контента, помещенного в iframe. Сторонний поставщик может вносить исправления и обновления, чтобы улучшить удобство использования и внешний вид, и если по какой-либо причине что-то сломается, остальная часть страницы не пострадает.
Приятный внешний вид. Большинство сторонних владельцев сделают все возможное, чтобы упростить интеграцию их контента на ваш сайт. Пользователь не может сказать, что это внешний источник, встроенный в вашу веб-страницу.
Время загрузки — поскольку вы управляете содержимым «iframe» со ссылками на родительской странице, вы также можете определить, когда и в какой последовательности будет загружаться каждый элемент страницы.
Предостережения
Хотя iframes могут быть очень полезными, они также могут причинить боль тем же людям, которые использовали их для встраивания различного контента в веб-приложение. 🙂 Как так?
Типичное использование фреймов — это загрузка различных сложных компонентов пользовательского интерфейса, таких как конструкторы пользовательского интерфейса, текстовые редакторы, системы комментариев и интерактивные карты с другого веб-сервера. Их также можно использовать для динамического изменения контента в заданной части страницы. Все это может доставить разработчикам массу проблем, пытаясь воспроизвести то, чему подвергался пользователь и как он взаимодействовал с этим элементом.
На ум приходит распространенный сценарий:
- Посетитель открывает окно чата на странице с ценами, чтобы запросить дополнительную информацию о ваших планах.
- Он печатает свое сообщение, но все, что выходит, искажено. Он пытается закрыть и снова открыть окно чата, но окно зависает.
- Затем он покидает страницу.
- Затем техподдержка/разработчики получают отчет о сбое. Они выясняют, в чем была ошибка, но понятия не имеют, что на самом деле сделал пользователь.
Это не всегда ошибки. Возможно, пользователь просто сделал что-то неожиданное на странице, что вы не знаете, как воспроизвести.
Существуют различные инструменты отчетов о сбоях, которые регистрируют ошибки, произошедшие в iframe. Что, если бы вы могли получить отчет о сбое вместе с записью действий пользователя, чтобы вы не только видели зарегистрированные сообщения о своих ошибках, но и могли воспроизвести их как «видео» и увидеть, что именно произошло?
Обходной путь
Существует бесплатный инструмент SessionStack, который отслеживает сеансы пользователей вашего веб-приложения. Когда что-то сломается вместе с журналом, вы получите запись сеанса пользователя, которая поможет вам сразу обнаружить ошибку. SessionStack не только обнаруживает тег iframe, но также записывает все действия пользователя внутри iframe и легко воспроизводит их для вас.
Ниже приведен снимок проигрывателя SessionStack: слева от каждого снимка экрана вы можете увидеть запись всех действий пользователя вместе с такими подробностями, как невыполненные сетевые запросы, ошибки и отладочные сообщения, а справа SessionStack отображает «видео» взаимодействие, которое происходит.