Фрейми



Назад
Поняття фрейму

Фрейм (від англ, "frame" - рамка, каркас, кадр) являє собою окреме робоче вікно браузера, розділене на різні по параметрах і розміру фрейми. Сукупність таких вікон прийнято називати фреймовою структурою. Найчастіше такі структури називають просто вікнами (або ж відповідно до рідної назви – фрейми). Фреймова структура дозволяє розбивати основну область на будь-яке число складових підфреймів (підобластей), причому по необхідності визначаючи внутрішнє поводження підфреймів. Кожен фрейм - це не що інше, як окремий HTML-документ, що завантажується браузером у призначеному для нього вікні. У такий спосіб HTML-документ, створений на фреймовій основі, є набором взаємозалежних електронних документів, параметри й властивості яких визначаються настроюваннями всієї фреймової структури. Уперше можливість відображення фреймів була реалізована компанією Netscape в однойменному браузері версії 2.0. Але нічого чудового первісний варіант підтримки подібної структури не пропонував своїм користувачам. Однак уже з виходом версії 3.0 у браузері Netscape з'явився ряд нововведень, що розширили діапазон параметрів основних тегів опису фреймів. Компанія Microsoft теж не витрачала час впусту й, вирішивши потіснити Netscape на перспективному ринку браузерів, випустила влітку 1996 року свій новий продукт - Microsoft Internet Explorer 3.0, що підтримував практично всі основні розширення Netscape і до того ж припускав реалізацію так званих плаваючих фреймів. Далі й та й інша компанія намагалися скорити користувача за допомогою розширення можливостей фреймових структур, які підтримувалися тільки власними браузерами. На жаль, і на сьогоднішній день не завжди можна бути впевненим у тім, що електронний документ, створений із застосуванням багатовіконної (фреймової) структури, однаково корректно відобразиться в браузерах обох компаній. Проте, у цей час фрейми одержали достатнє поширення і являють собою ще один варіант системи навігації інтернет-ресурсу.
Області застосування фреймів
Діапазон застосування фреймів не настільки широкий як, наприклад, у карт-зображень або меню навігації у вигляді звичайних текстових гіперпосилань. Частіше всього використовують фреймову структуру в наступних випадках:

  • створення нерухомої або прокручуючої навігаційної панелі керування;
  • одночасне відображення інформації в декількох місцях;
  • постійна візуальна присутність певного текстового графічного чи іншого об'єкта;
  • розробка Web-інтерфейсу для онлайн-ігор;

    Правила опису фреймів

    Для опису фреймових структур в HTML передбачений ряд спеціальних тегів і параметрів, які зараз і розглянемо.

    Відображення файла растрового формату засновано на обробці мінімальної одиниці робочої області екрана — крапки (пікселя). Зміна розмірів растрових зображень може істотно вплинути на їхню якість, тому що масштабування здійснюється без втручання яких-небудь важких математичних операцій. Найбільш поширеними растровими формами є PSD(Photoshop Document), ВМР (Віtmap Іmage) і iн.

    Форматом вибраним для демонстрації Wеb-графіки в Інтернеті, став растровий формат, оскільки відносно малий розмір моніторів користувачів не дозволяє виводити на екран зображення більших розмірів.

    На сьогоднішній день для створення графічних зображень, призначених для розміщення в електронних документах, використовуються три основні стандарти: СІF, JРЕG і РNG. Розглянемо кожний із них докладніше.

    Основні тегі фреймової структури
    Tеги Параметри тегів
    <FRAMESET> Тег <FRAMESET> є основним тегом-контейнером фреймової структури HTML-документа (закриваючий тег обов'язковий). Особливістю будь-якого електронного документу із фреймами є те, що в HTML-коді відсутній тег-контейнер <BODY>, тег <FRAMESET> уставлюється відразу ж після розділу HEAD. Структурний HTML-документ (той, який визначає структуру фреймів) не може містити ні тегів форматування, ні яких-небудь HTML-елементів. Тег <FRAMESET> може містити два основних параметри — ROWS й COLS. Параметри ROWS й COLS визначають кількість горизонтальних (ROWS) і/або вертикальних (COLS) фреймів. Формат запису значення може бути в пікселях, відсотках чи відносних одиницях, причому число значень відповідає кількості фреймів. Значення записуються через кому, наприклад: <FRAMESET ROWS="30%,70%"> У даному прикладі ми маємо два горизонтальних фрейми, один із яких (верхній) займає 30% робочої області вікна браузера, а другий (нижній) - 70% (загальна сума завжди повинна становити 100%). Запис значень у пікселях не дуже зручна через те, що розроблювач фреймової структури (та й взагалі всього HTML-документа) не знає, на якому моніторі й при якому екранному дозволі буде проглядатися його документ. У цьому змісті оптимально підходить вказівка значень у процентному співвідношенні - при зміні розмірів вікна браузера розміри фреймів будуть пропорційно мінятися. Формат запису значень у відносних одиницях виглядає так: FRAMESET COLS="*, 2*, 3*"> Символ "зірочки" (*) є однією частиною цілого числа і здійснює пропорційний розподіл вікна браузера на зазначену кількість фреймів (у нашому випадку це три вертикальних фрейми). Щоб визначити дробове число, що відповідає розміру конкретного фрейму, потрібно скласти всі цифри, що стоять перед символом *, і підставити суму, що вийшла, як знаменник від цілого числа. У такий спосіб: I +2 + 3 = 6,і т. д. перший фрейм займає 1/6 вікна, другий - 2/6 (або 1/3) вікна, а третій - 3/6 (або 1/2) вікна браузера. Відсутність цифри перед символом "зірочки" має на увазі значення 1. Мова розмітки HTML дозволяє для параметрів ROWS й COLS задавати змішані значення, наприклад: <FRAMESET ROWS="50, 50*, *, 3*"> Така структура містить у собі чотири горизонтальних фрейми: перший строго зафіксований (50 пікселів), другий займає 50% від усього розміру вікна браузера, а два останніх фрейми поділять простір, що залишився, у співвідношенні 1/4 й 3/4. Обов'язкового порядку для запису змішаних значень не існує, однак рекомендується в першу чергу вказувати фіксовані значення (пікселі), потім відсотки, а вже потім відносні одиниці. Також у тег <FRAMESET> можливо включати обидва параметри – ROWS й COLS . <FRAMESET COLS="40%, 60%" ROWS="*, 2*">
    <FRAME>Тег <FRAME> описує властивості окремого фрейму, що входить до складу фреймової структури. Відповідно, скільки є фреймів, стільки повинно бути й тегів , заключених у тег фреймової структури . Тег не вимагає закриваючого тегу й може містити параметри, які ми зараз і розглянемо.
    Параметри тегів Опис параметра
    SRC <FRAME SRC="fraffies/menu.html"> У даному випадку броузером у фрейм буде завантажений документ «menu.html". Як джерело фрейму може бути зазначена будь-яка припустима адреса. Також варто пам'ятати, що властивості документа, що є складеним компонентом фреймової структури, визначаються в HTML-коді цього документа, а не в межах конструкцій <FRAMESET> або <FRАМЕ>. Параметр NAME Даний параметр присвоює поточному фрейму внутрішнє ім'я, яке використається для взаємодії між різними фреймами (докладніше викладено в розділі "Взаємодія між фреймами" цього розділу).
    SCROLLING За допомогою параметра SCROLLING можна управляти смугою прокручування в окремому фреймі. Існують три можливих значення даного параметра: o YES – смуга прокручування з'являється в кожному разі. Таке значення не рекомендується присвоювати, оскільки постійна присутність цієї смуги може негативно позначитися на дизайні всього електронного документа; o NO – заборона смуги прокручування. Прокручування не з'явиться навіть у випадку, якщо зміст документа перевищує розмір видимого простору вікна браузера. У підсумку частина документа, що залишилася, буде недоступна користувачеві; o AUTO – автоматична поява смуги прокручування в міру необхідності. значення, що рекомендується, воно регулює прокручування залежно від обсягу інформації в поточному фреймі.
    NORESIZE Параметр NORESIZE забороняє ручну зміну користувачем розмірів поточного фрейму. Така зміна можлива при наведенні курсору миші на границю фрейму, однак у ряді випадків розробнику може знадобитися заборонити зміну розмірів вікон фреймової структури. Параметр NORESIZE не вимагає вказівки яких-небудь значень. Також варто пам'ятати про те, що при наявності даного параметра змінити розміри сусідніх фреймів теж буде неможливо.
    MARGINWIDTH і MARGINHEIGHT Параметри MARGINWIDTH й MARGINHEIGKT призначені для визначення горизонтальних і вертикальних відступів усередині фрейму. Значення вказується в пікселях й є рівнозначним для обох сторін, наприклад: <FRAME MARGINHEIGHT="5" MARGINHEIGHT="3"> У цьому випадку горизонтальний відступ буде дорівнює 5 пікселям, а вертикальний дорівнює 3 пікселям. При вказівці цих двох параметрів необхідно пам'ятати про те, що такі ж відступи можуть бути визначені не тільки у файлі фреймової структури, але й безпосередньо в HTML-коді документа обраного фрейму (параметри LEFTMARGIN, RIGHTMARGIN, TOPMARGIN, BOTTOMMARGIN, MARGINWIDTH, MARGINHEIGHT у тегу <BODY>).
    <NOFRAMES> Можливість роботи із фреймами не була передбачена специфікацією HTML аж до версії 3.2. І це незважаючи на те, що багато броузерів дану технологію все-таки підтримували із прийняттям HTML 4.0 була уведена підтримка фреймових структур, а Консорціум W3C став рекомендувати використання тегу-контейнера <NOFRAMES> (закриваючий тег обов'язковий), що надає інформацію користувачам броузерів, які не підтримують фреймову структуру. <NOFRAMES> Цей документ містить фрейми. </NOFRAMES>
    Текст, розміщений між двома тегами <NOFRAMES>, буде показаний власникам таких броузерів, а сучасні браузери просто проігнорують цю інформацію.