Саме поняття iframe утворилося як скорочення від inline frame, чи то пак, «вписаний фрейм». Куди вписують inline-фрейми? Так прямо в веб-сторінку, практично в будь-який її місце. В наші дні iframe використовується як для благих цілей, так і для дуже поганих. Тому усвідомити суть поняття корисно і початківцям веб-майстрам, і всім іншим користувачам.
суть коротко
Так, inline-фрейми можна вставляти куди завгодно, навіть посеред тексту. Наприклад, в клітинку таблиці. Це є концептуальною відмінністю від поділу сторінок на звичайні фрейми, які вже давно вважаються моветоном.
За допомогою inline-фреймів можна показувати якісь об'єкти, що знаходяться на інших сайтах. Завдяки iframe розумні технології на кшталт AJAX вміють змінювати інформацію в окремій області, які не змушуючи користувача перезавантажувати всю сторінку заради невеликих (в тому числі інтерактивних) змін контенту.
Раніше потрібно було копіювати і вставляти дуже громіздкий код Flash-плеєра, а тепер, як бачите, все дуже просто. Виділили область розміром 420 на 315 пікселів - і нехай в ній буде віконце, що дозволяє заглянути безпосередньо на сайт YouTube.
Однак, незважаючи на простоту, все ж будемо розбиратися з тегом iframe докладно.
У багатьох HTML-тегів бувають атрибути, яким присвоюються якісь значення. Часто без них, атрибутів, взагалі ніяк не обійтися. В
- frameborder - визначає наявність або відсутність кордонів (значення: 0 або 1);
- height - висота в пікселях;
- width - ширина в пікселях;
- name - власне унікальне ім'я;
- src - джерело, звідки буде завантажуватися інша веб-сторінка (її URL);
- align - вирівнювання по відношенню до решти тексту сторінки (значення: middle. top. left. right. bottom);
- scrolling - прокрутка, її наявність або відсутність (значення: yes. no).
Виходить приблизно так:
закриває тег є обов'язковим. Оскільки атрибут scrolling відсутня, то прокрутка повинна бути присутня за умовчанням. Ну і, звичайно, без атрибута src сама концепція iframe втрачає сенс.
Безпека
Тепер про неприємне. Що буде, якщо значення атрибутів width і height поставити нуль пікселів? Так, iframe не з'явиться в браузері. Але ж з HTML-коду сторінки він нікуди не дінеться. Отже, непомітно для користувача може завантажитися що-небудь з іншого сервера. Наприклад, вірус. І станеться атака методом Drive-by.
Відключаємо iframe в браузері Opera
Кнопка меню зліва вгорі → «Налаштування» → «Налаштування» → вкладка «Розширені» → розділ «Вміст» → кнопка «Налаштувати стилі» → зняти галочку поруч з «Включити inline-фрейми».
Відключаємо iframe в Mozilla Firefox і SeaMonkey
Тиснемо на вищевказаний значок → «Налаштування» → вкладка «Вбудовані об'єкти» → ставимо галочку поруч з «Заборонити відображення елементів
Включаємо для конкретного сайту так: знову тиснемо на значок і вибираємо «Дозволити для. »NoScript можна відключати взагалі (в тому ж інтерфейсі, де його встановлювали).
висновок
Деякі сервіси, блог-платформи і безкоштовні хостинги забороняють використання inline-фреймів. Не дуже розумні рейтинги безпеки сайтів можуть з підозрою поставитися до самого факту наявності тега