Нестандартные HTML теги. Тег iframe
Все мы знаем об html-тегах, таких как <p>
, <h1>
, <div>
, <span>
и так далее. Все они выполняют самую обычную роль – отображение какого-либо медиа-контента. И весь этот медиа-контент загружается самым стандартным образом, простым потоком с сайта.
А что, если хочется отобразить на сайте что-то с другого сайта, например, калькуляторы услуг различных компаний, виджеты погоды, курса валют или просто страницы другого сайта? Для этого у нас есть iframe
. Необычный тег, нестандартный тем, что отображает медиа-контент по ссылке. Захотели что-то отобразить у себя на сайте, вставили iframe с ссылкой, и вуаля – контент уже на вашем сайте.
Самая замечательная особенность iframe
заключается в том, что при работе с медиа-контентом внутри iframe
ваши действия никак не влияют на загруженную страницу в целом. Захотели нажать на ссылку внутри iframe
? Без проблем, браузер не перезагрузит страницу, а просто загрузит новый контент внутри iframe.
Это чем-то похоже на технологию AJAX. Данные на странице грузятся также без перезагрузки страницы, в параллельном потоке. И при этом использовать iframe гораздо проще. Достаточно написать тег iframe
и указать ссылку, откуда брать контент.
Контент можно загружать не только с других сайтов, но и со своего сайта. Нужно только подготовить правильную выдачу контента (без шапки и подвала сайта, оставив только нужные данные). Таким образом можно заставить работать сайт полностью без перезагрузки страницы, как будто на AJAX.
В чем отличие AJAX от iframe?
Вам конечно интересно, зачем же тогда вообще использовать AJAX?! Почему у всех на слуху AJAX, а не iframe
?! Дело в том, что, загружая данные через iframe
, Вы имеете менее удобный доступ ко всем данным внутри iframe (если пытаетесь к ним обратиться с основной части страницы) и не имеете доступа к данным, находящимся вне iframe
(если пытаетесь обратиться к основной части страницы изнутри iframe
). Это происходит из-за соображений безопасности – во избежание взломов один сайт не может иметь прямого доступа к другому сайту через iframe
(ни снаружи внутрь, ни изнутри наружу).
С помощью AJAX Вы можете загрузить необходимые данные с другого сайта и представить их в том виде, в каком Вы хотите. С iframe
у Вас это не получится. Поэтому технология AJAX хоть и более сложная, она является более безопасной и более гибкой по сравнению с iframe
. В связи с этим, возможностей у AJAX намного больше. Ну а iframe
– это просто полезная технология для быстрой интеграции различных виджетов на сайте.