Przejdź do treści

Ramki

Wstęp

Co to są ramki? Aby zobaczyć przykład ramek, kliknij tutaj. Po lewej jest pierwsza ramka (nieruchome okienko): "Spis treści", a po prawej druga: "Strona główna".

Jeśli w otworzonym przykładzie nie widzisz po lewej stronie spisu treści, a po prawej strony głównej, oznacza to, że twoja przeglądarka internetowa nie akceptuje ramek. Jest to sytuacja bardzo rzadka, ponieważ aktualnie w zasadzie każda z popularnych przeglądarek bezbłędnie rozpoznaje ramki.

Popatrz na lewą ramkę otworzonego przykładu ("Spis treści"). Zauważ, że jeśli przewijasz zawartość strony (prawa ramka), to "Spis treści" pozostaje nieruchomy (i odwrotnie). To jest właśnie zaleta ramek - możemy do jednej z nich wczytać np. wykaz tematów całego serwisu, a na ich zawartość przeznaczyć drugą ramkę. Dzięki temu przez cały czas będziemy mogli wybierać interesujący temat z wykazu. Dodatkowo wykaz tematów zostanie załadowany tylko jeden raz - przy pierwszym wczytaniu strony i nie będzie już potem opóźniał ładowania.

Aby skorzystać z ramek, należy zbudować specjalną stronę startową, która ma zwykle małą objętość, a która stanowi szkielet dla całej struktury.

Przykład:

Oto przykładowy wygląd strony startowej ramek:

<!DOCTYPE html 
	PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
	<title>Moja strona</title>
</head>
<frameset cols="200,*">
	<frame name="spis" src="spis.html" />
	<frame name="strona" src="home.html" />
	<noframes><body><a href="spis.html">Spis treści</a></body></noframes>
</frameset>
</html>

Zwróć szczególną uwagę na znaczniki napisane pogrubioną czcionką. Są to komendy dotyczące tworzenia struktury ramek. Będą one opisane w kolejnych punktach.

UWAGA!
Początkujący webmasterzy mają często następujący problem: tworzą stronę z dwiema ramkami: pierwszą - menu z odsyłaczami oraz drugą - gdzie ma być wczytywana wybrana strona. Okazuje się jednak, że po kliknięciu odsyłacza w menu, strona zostaje wczytana do menu, a nie do drugiej ramki, gdzie zostało przeznaczone dla niej miejsce. Dzieje się tak dlatego, ponieważ dla odsyłaczy w menu nie został określony atrybut target="...", gdzie wpisuje się nazwę ramki, do której ma zostać wczytana strona. Jeśli chcesz uniknąć takich problemów, po stworzeniu swojej strony z ramkami, koniecznie przeczytaj rozdział: Wczytywanie strony do ramki!

Edytory HTML posiadają często specjalny generator ramek, który wspomaga ich tworzenie, pozwalając w prosty i wygodny sposób określić ich wygląd oraz atrybuty. Jeśli nie możesz sobie z tym poradzić, radzę poszukać takiego generatora w Twoim edytorze.

Czy stosowanie ramek jest bezpieczne?

Kiedy ramki były jeszcze nowinką, mówiło się, że należy ich unikać, ponieważ nie każda przeglądarka potrafi je zinterpretować. Czy dzisiaj stwierdzenie takie ma jeszcze sens, skoro ramki - zarówno tradycyjne jak i lokalne, czyli "pływające" - zostały oficjalnie wprowadzone w rekomendacji HTML 4 z roku 1998 (pierwsza odsłona: 18 grudnia 1997)? W informatyce taki okres to bardzo długo, więc producenci oprogramowana mieli aż nadto czasu na dostosowanie. Zdecydowana większość przeglądarek całkowicie radzi sobie ze wszystkimi rodzajami ramek, dlatego obawy o brak interpretacji nie są już raczej uzasadnione. Ponadto nawet jeśli na stronę wejdzie użytkownik za pomocą przeglądarki, która nie obsługuje ramek, serwis nadal może być funkcjonalny, a to dzięki znacznikowi <noframes>...</noframes>. To samo dotyczy drukowania ramek - można nawet stwierdzić, że jest ono jeszcze efektywniejsze niż dla normalnej strony, gdyż możemy wydrukować zawartość tylko wybranej ramki, np. z właściwą treścią strony, a pominąć drukowanie menu witryny. Nie musimy się także martwić o "niepełny" wygląd serwisu w przypadku, gdy użytkownik wczyta jakąś podstronę poza ramkami, ponieważ dzięki JavaScript problem można wyeliminować. Dodatkowo światowe i polskie roboty sieciowe, zajmujące się indeksowaniem stron w wyszukiwarkach, również rozpoznają ramki i potrafią dotrzeć do kolejnych podstron serwisu na podstawie strony startowej zawierającej samą strukturę ramek.

Nie zrozum mnie źle - nie próbuję tutaj przekonywać, że ramki są najlepsze, ale nie sposób nie zauważyć, że posiadają liczne zalety:

  • Wygoda nawigacji,
  • Prostota tworzenia struktury serwisu bez korzystania ze skryptów PHP,
  • Oszczędność wczytywania danych przy przechodzeniu na podstrony (menu wczytuje się tylko raz).

Oczywiście ramki posiadają również pewne wady:

  • Wiele osób uważa, że mają mniej profesjonalny wygląd.
  • Zwykle dodanie do zakładek (ulubione) podstron serwisu z ramkami jest utrudnione lub nawet niemożliwe. Analogiczny problem występuje w przypadku chęci skopiowania adresu konkretnej podstrony, np. aby przekazać go znajomemu.
  • Odświeżenie serwisu w ramkach, np. w przypadku problemów w transferem, zawsze powoduje powrót na stronę główną.
  • Ramki są przeznaczone do budowy raczej prostszych struktur serwisu. Jeśli wstawimy na stronie dużo ramek - szczególnie w mniejszych rozdzielczościach ekranu - "okienko" z właściwą treścią strony może okazać się stanowczo za małe.
  • Gorsza dostępność dla osób niewidomych.

O tym czy zastosować ramki czy może raczej np. tabelki albo jeszcze lepiej style CSS powinno się decydować indywidualnie mając założenia do konkretnego projektu, tzn. to, na czym nam szczególnie zależy, a co jest mniej ważne. Dzisiaj ramki zostały prawie wyparte ze standardowych, treściowych stron internetowych. Czasami jednak nadal mogą okazać się przydatne np. w różnego rodzaju aplikacjach WWW, panelach administracyjnych czy stronach intranetowych - czyli wszędzie tam, gdzie adres URL poszczególnych podstron nie bardzo nadaje się do przekazania innej osobie ani zapisania w ulubionych przeglądarki.

Zobacz także

Komentarze

Zobacz więcej komentarzy