RSS лента

Лабораторна 9

Тег IFRAME є доповненням Microsoft до мови гіпертекстової розмітки. На мій погляд, це був би значний внесок в розвиток мови HTML за останні кілька років, якби не одне «НО»: цей тег не підтримується жодним браузером, за винятком Internet Explorer’a (ну і всяких там Neoplanet’ов, які є суть з ним одне). Всю відповідальність я, в даному випадку, схильний покладати на розробників Netscape Navigator’a, яким, судячи з усього, було в черговий раз лінь підтримати перспективну (до сих пір пам’ятають крива реалізація CSS і навіть рідного «Нешкафу» JavaScript) технологію. Більше того — очевидну технологію. Я свого часу був просто-таки вражений відсутністю повноцінної реалізації фреймів у HTML саме через відсутність цього тега. Втім, добрий Майкрософт був досить добрий, щоб дати можливість користувачам насолодитися усіма зручностями IFRAME, одночасно залишаючи лазівку для інших користувачів.
Отже, давайте розберемо детальніше тег IFRAME:

<IFRAME SRC=»document.htm» WIDTH=XXX HEIGHT=XXX NAME=»XXX» SCROLLING=»yes/no/auto» [NORESIZE]>
</ IFRAME>

Як ми бачимо, синтаксис IFRAME схожий з синтаксисом звичайного <FRAME>: ви можете задавати наявність / відсутність смуг прокрутки, забороняти / дозволяти зміна розмірів вікна. Крім того, оскільки даний фрейм є ні що інше, як прямокутна область з усіма витікаючими з цього наслідками, Ви можете задати для нього розміри WIDTH і HEIGHT. Посилання на документ — SRC = «document.htm» — завантажує документ «document.htm» в сформовану IFRAME область сторінки. Більше того, задавши ім’я фрейма — NAME (особисто я віддаю перевагу давати ім’я «iframe» за цілком очевидним причин) — Ви зможете завантажувати будь-яку бажану сторінку в одержуване за допомогою IFRAME вікно.
Так, користувачі NN ваші дизайнерські вишукування не побачать, але між тегами <IFRAME> і </ IFRAME> можна вставити HTML код, який буде оброблятися браузерами не знають тега IFRAME. Таким чином, Ви, в самому крайньому випадку, можете там просто продублювати вміст IFRAME, вивівши його, скажімо, у вигляді таблиці з відповідною шириною WIDTH і висотою HEIGHT. При цьому виникає лише одна заковика — Ви не зможете поставити фіксовану висоту колонки. Таким чином, якщо, скажімо, текст не буде влазити в клітинку таблиці, висота комірки буде автоматично збільшена. IFRAME дозволяє більш жорстко контролювати параметри WIDTH і HEIGHT, і, крім того, дозволяє налаштовувати параметр SCROLLING — так що отримується в кінці кінців сторінка буде абсолютно по-різному виглядати під iE і NN.

Тепер давайте трохи пофантазуємо на тему: навіщо нам все-таки потрібен тег IFRAME. Адже з наведеного вище випливає, скоріше, що він малопріменім для наших дизайнерських цілей.
По-перше, хто сказав, що сторінка повинна абсолютно однаково виглядати під усіма (ну, хоча б під двома — iE і NN) браузерами? На мій погляд, в ідеалі сторінка повинна верстатиметься під кожен з браузерів окремо, щоб обійти деякі підводні камені (зокрема, деяку кривуватою реалізації практично всіх функцій у NN, що, визнаю, часто є наслідком поширеності iE з усіма витікаючими наслідками, зразок схильності веб-дизайнерів дизайн сторінки спочатку під iE, а потім вже доводити їх до ладу в NN). Так що застосування таблиці між тегами IFRAME не така вже й погана думка.
По-друге, застосовуючи IFRAME, Ви можете активно і часто міняти зміст окремо взятого вікна без зміни самої сторінки. Звичайно, читач може вигукнути: можна ж використовувати, скажімо, SSI — і буде в корені не правий. Бо хто з простих смертних і, тим більше, початківців веб-дизайнерів, може дозволити собі хоститься на сервері, що підтримує всі ці навороти. Відповідь напрошується сам — особисто я не можу, а тому змушений користуватися різними хитрими прийомами, щоб полегшити і без того складну своє життя, оновлюючи лише одну сторінку замість десятка-другого за раз. IFRAME активно використовують для виведення банерів, зокрема, формату 468×60, крім того, IFRAME — ідеальне рішення для виведення зовнішньої сторінки з лічильниками. Таким чином, вставляючи код лічильника в одну сторінку і показуючи її на всіх сторінках сайту, ви отримуєте саму докладну статистику відвідувань. Скажу більше — якщо Ви використовуєте службу статистики SpyLOG, то ви навіть зможете отримувати статистику про точки входу (тобто на яку сторінку Вашого сайту прийшов відвідувач) — і це буде аж ніяк не «iframe»!

Багато сайтів обмінюються посиланнями, при цьому не маючи ні найменшого уявлення куди ці самі посилання дівати. Багато розкидають їх по головній сторінці, безнадійно вбиваючи дизайн і знижуючи ефективність посилань і банерів (бо багато відвідувачів розчаровано закривають вікно — який не обов’язково буде головною сторінкою сайту — ледь побачивши його вміст). Деякі роблять окрему сторінку з посиланнями і вставляють в меню кнопку «посилання», тим самим відлякуючи від неї відсотків 90 відвідувачів. Інша справа, коли всі вони відкриваються в IFRAME, постійно надаючи вплив на відвідувача Вашого сайту, і разом з тим несуть навантаження в якості оригінального елемента дизайну.
Нарешті, ви можете легко обійти частина обмежень IFRAME і вставити між тегами IFRAME popup-menu прийнятих в IFRAME розмірів. З одного боку, popup-вікна апріорно є зло — їх ніхто не любить (у тому числі і я). З іншого — треба ж щось дати можливість користувачам Netscape побачити приблизно те ж, що мають можливість бачити користувачі iE. Тим більше, якщо дизайн сайту заточений під IFRAME. Виглядати вся ця конструкція буде приблизно так:

<IFRAME SRC = «document.htm» WIDTH = 260 HEIGHT = 380
NAME = «iframe» SCROLLING = «auto» NORESIZE>
<SCRIPT> Document.open (‘document.htm’, ‘iframe’, ‘top = 20,
left = 20, width = 260, height = 380, directories = no, status = no,
scrollbars = yes, resize = no, menubar = no ‘) </ SCRIPT>
</ IFRAME>

Оскільки рамки даної статті не дозволяють провести екскурс в JavaScript, я обмежуся лише загостренням Вашої уваги на наступних параметрах: TOP і LEFT дають команду браузеру виводити вікно з відповідним відступом від верху і зліва; c WIDTH і HEIGHT, я думаю, все і так ясно, також як і з SCROLLBARS і RESIZE. Дерзайте!

На закінчення хотілося б ще раз наголосити, що IFRAME є давно, і відсутність підтримки цього тега — головний біль, перш за все, компанії Symantec, що виробляє це чудо програмування Netscape. Я також вважаю, що хоч сторінки і повинні нормально читатися під NN, але все ж Internet Explorer для дизайнера первинний, і коли дизайн сторінки вимагає застосування тега IFRAME — його треба використовувати, хоча і з оглядкою на користувачів NN. Для нелюбитель продукції компанії Майкрософт мені хотілося б побажати уважно прочитати «довідку> про програму» до iE, де російським (хоча, у кого як:) мовою написано хто його все-таки робив (Майкрософт згадується там хіба що в якості видавця і праводержателя) , або ж обзавестися браузером типу Neoplanet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: