Aplikacje internetowe

34
Aplikacje internetowe Posługiwanie się ramkami

description

Aplikacje internetowe. Posługiwanie się ramkami. Zastosowanie ramek. - PowerPoint PPT Presentation

Transcript of Aplikacje internetowe

Page 1: Aplikacje internetowe

Aplikacje internetowe

Posługiwanie się ramkami

Page 2: Aplikacje internetowe

Zastosowanie ramek

• Wprowadzenie obsługi ramek w przeglądarce Netscape 2.0 otworzyło nową erę dla twórców stron WWW. Dzięki ramkom możemy tworzyć strony zdecydowanie różniące się od wszystkich innych. Możemy umieszczać tabele w tabelach, dodawać do stron nagłówki, stopki i paski z połączeniami.

• Jednocześnie ramki zmieniają sposób widzenia „strony” przez przeglądarkę i czytelników. Kiedyś, wyświetlane na ekranie informacje stanowiły zawartość pojedynczej strony HTML — teraz, gdy tworzysz witryny korzystające z ramek, na jednym ekranie wyświetlane są informacje z kilku powiązanych ze sobą, jednak osobnych dokumentów HTML.

Page 3: Aplikacje internetowe

Tworzenie ramek

• Podstawowym dokumentem HTML, który musimy utworzyć, jest dokument układu ramek - to strona, która zawiera informacje na temat układu poszczególnych ramek oraz nazwy dokumentów HTML, które zostaną w nich umieszczone.

• Wprowadzamy w nim kody HTML definiujące układ poszczególnych ramek.

• Dokument układu ramek zawiera także nazwy dokumentów HTML, których zawartość będzie wyświetlana w odpowiednich ramkach.

Page 4: Aplikacje internetowe

Przykładowy układ ramek

Page 5: Aplikacje internetowe

Przykładowy układ ramek

• Dokument przedstawiony w poprzednim slajdzie miał cztery ramki.

• Każdy z pozostałych czterech dokumentów (wyświetlanych w poszczególnych ramkach) zawiera normalne znaczniki HTML definiujące zawartość poszczególnych ramek. Do tych dokumentów odwołuje się właśnie dokument układu ramek.

Page 6: Aplikacje internetowe

Znacznik <frameset>• Aby móc stworzyć dokument układu ramek, musimy poznać znacznik

<frameset>.

• Znacznik ten zastępuje w dokumencie HTML znacznik <body>, tak jak pokazano poniżej:

<html>

<head>

<title>Tytuł strony</title>

</head>

<frameset>

... tu rozpoczyna się definicja Twojej ramki. ...

</frameset>

</html>

Page 7: Aplikacje internetowe

Znacznik <frameset>

• Zrozumienie różnicy pomiędzy zwykłym dokumentem HTML, a dokumentem zawierającym definicje układu ramek jest niezwykle istotne.

• Umieszczenie znacznika <frameset> w dokumencie HTML wyklucza stosowanie znacznika <body>. Innymi słowy, oba znaczniki wzajemnie się wykluczają.

• Co więcej, dokument układu ramek nie może zawierać innych znaczników formatujących, połączeń oraz dokumentów tekstowych.

• Jedynym wyjątkiem jest sytuacja, gdy stosowany jest znacznik <noframes>.

• Element <frameset> zawiera więc wyłącznie definicje ramek dla tego dokumentu, noszą one nazwę układu ramek.

Page 8: Aplikacje internetowe

Atrybut cols• Definiując układ ramek za pomocą znacznika <frameset>,

musimy dołączyć do definicji jeden z atrybutów znacznika. Pierwszym z nich jest atrybut cols. Oto odpowiednia postać znacznika:

<frameset cols="szerokość_kolumny, szerokość_kolumny, …">

• Atrybut cols informuje przeglądarkę, by podzieliła ekran na odpowiednią liczbę pionowych ramek, których szerokości zdefiniowane są poprzez kolejne wartości atrybutu cols (szerokość_kolumny), oddzielone przecinkami.

Page 9: Aplikacje internetowe

Atrybut cols• Szerokość ramki może być wprowadzana na trzy sposoby:

‒ bezpośrednio w pikselach, ‒ w procentach względem całkowitej szerokości układu ramek ‒ za pomocą znaku „*”.

• W ostatnim przypadku przeglądarka przydziela tak zdefiniowanej ramce maksymalną możliwą szerokość.

• Jeśli w pełnej definicji układu ramek pojawi się znacznik <frameset> w postaci

<frameset cols="100,50%,*">• ekran zostanie podzielony na trzy pionowe ramki. Pierwsza ramka

ma szerokość 100 pikseli, szerokość drugiej stanowi 50% szerokości całego okna przeglądarki, a trzecia zajmie pozostały obszar.

Page 10: Aplikacje internetowe

Atrybut rows• Atrybut rows działa tak, jak atrybut cols, z tym, że podział ekranu

następuje w poziomie. Szerokość ramki podobnie jak w atrybucie cols może być wprowadzana na trzy sposoby: ‒ bezpośrednio w pikselach, ‒ w procentach względem całkowitej szerokości układu ramek ‒ za pomocą znaku „*”.

• Jeśli w pełnej definicji układu ramek pojawi się znacznik <frameset> w postaci

<frameset rows="100,50%,*">• ekran zostanie podzielony na trzy poziome ramki. Pierwsza ramka

ma szerokość 100 pikseli, szerokość drugiej stanowi 50% szerokości całego okna przeglądarki, a trzecia zajmie pozostały obszar.

Page 11: Aplikacje internetowe

Znacznik <frame>

• Po zdefiniowaniu układu ramek, musimy stowarzyszyć dokumenty HTML z poszczególnymi ramkami. Służy do tego znacznik <frame>, którego zawartość powinna być następująca:

<frame src="dokument_URL">

• Taka definicja powinna pojawić się dla każdej z ramek układu ramek utworzonego za pomocą znacznika <frameset>.

• Dokument_URL określa nazwę pliku ze stroną która powinna być wyświetlona w ramce lub adres URL strony w sieci.

Page 12: Aplikacje internetowe

Przykład pionowego podziału okna przeglądarki

Page 13: Aplikacje internetowe

Przykład pionowego podziału okna przeglądarki kod w HTML

<html>

<head>

<title>Znacznik FRAME</title>

</head>

<frameset cols="*,*,*">

<frame src="doc1.html">

<frame src="doc2.html">

<frame src="doc3.html">

</frameset>

</html>

Page 14: Aplikacje internetowe

Przykład poziomego podziału okna przeglądarki

Page 15: Aplikacje internetowe

Przykład pionowego podziału okna przeglądarki kod w HTML

<html>

<head>

<title>Znacznik FRAME</title>

</head>

<frameset rows="*,*,*">

<frame src="doc1.html">

<frame src="doc2.html">

<frame src="doc3.html">

</frameset>

</html>

Page 16: Aplikacje internetowe

Uwagi na temat ramek

• Ponieważ projektowane przez Nas strony będą wyświetlane w oknach o różnych rozmiarach, powinniśmy unikać stosowania absolutnych rozmiarów ramek.

• Jeśli jednak zdefiniujemy rozmiar ramki w ten sposób, wymiary pozostałych ramek określaj za pomocą gwiazdki (*), aby pozostała część okna została wypełniona.

Page 17: Aplikacje internetowe

Znacznik <noframes>

• Specjalny znacznik <noframes> umożliwia zdefiniowanie w dokumencie układu ramek dodatkowego fragmentu kodu HMTL.

• Kod HTML umieszczony wewnątrz tego znacznika nie jest wyświetlany w przeglądarkach obsługujących ramki; pojawia się on wyłącznie w przeglądarkach, które nie są w stanie wyświetlać ramek.

• Aktualnie wszystkie aktualne wersje przeglądarek obsługują ramki.

Page 18: Aplikacje internetowe

Przykład strony z użyciem znacznika <noframes>

<html><head><title>Układ ramek bez żadnej zawartości w ramkach</title></head><frameset>

Tu rozpoczynają się definicje ramek.<noframes>

Tu wprowadź dowolny tekst, połączenia i znaczniki.</noframes></frameset></html>

Page 19: Aplikacje internetowe

Zmiana obramowań ramek

• Korzystając z atrybutu frameborder, możemy stosować obramowania lub z nich rezygnować. Atrybut ten przybiera dwie możliwe wartości: - 1 – oznaczającą, że ramki mają być wyświetlane,- 0 – oznaczającą, że ramki mają być niewidoczne.

• W przypadku gdy ramki mają być widoczne możemy zastosować drugi atrybut, bordercolor określający kolor ramki.

• Atrybuty te mogą byś stosowane w zarówno w znaczniku <framaset> jak i w <frame>.

Page 20: Aplikacje internetowe

Przykład• Na przykład, przedstawiony poniżej fragment kodu wyświetla

ciemnoczerwoną (#cc3333) ramkę wokół środkowej ramki układu:<html><head><title>Znacznik FRAME</title></head><frameset rows="*,*,*">

<frame src="doc1.html"><frame src="doc2.html" frameborder="1" bordercolor="#cc3333"><frame src="doc3.html">

</frameset></html>

Page 21: Aplikacje internetowe

Konflikty obramowań ramek• Oczywiście, korzystanie z kolorowych obramowań może być źródłem

nieporozumień.• W przedstawionym poniżej przykładowym układzie ramek występuje konflikt,

gdyż dwóm ramkom mającym wspólną krawędź zostały przypisane inne kolory (przy użyciu atrybutu bordercolor):<html><head><title>Znacznik FRAME</title></head><frameset rows="*,*,*" frameborder="0">

<frame src="doc1.html" frameborder="1" bordercolor="yellow"><frame src="doc2.html" bordercolor="#cc3333"><frame src="doc3.html" >

</frameset></html>

Page 22: Aplikacje internetowe

Konflikty obramowań ramek

W takich sytuacjach należy zastosować trzy proste zasady:• atrybuty zewnętrznego układu ramek mają najniższy

priorytet,• atrybuty zagnieżdżonego znacznika <frameset> dominują

nad atrybutami znacznika nadrzędnego,• atrybut bordercolor danej ramki dominuje nad

ustawieniem wprowadzonym w znaczniku <frameset>.

Page 23: Aplikacje internetowe

Tworzenie złożonych układów ramek

• W większości przypadków układy ramek służą do stworzenia paska nawigacyjnego ułatwiającego użytkownikom poruszanie się po witrynie.

• Zdecydowanie najpopularniejszym miejscem, w którym są umieszczane takie paski nawigacyjne, jest lewa część okna przeglądarki. Za każdym razem, gdy użytkownik klika połączenie w lewej, nawigacyjnej ramce, wybrana strona jest wyświetlana w ramce głównej. Bardzo prosty układ ramek, jaki stworzymy w tym ćwiczeniu przedstawi tę technikę.

• Choć nie jest to praktyczny przykład, to jednak jest prosty i zabawny, a dodatkowo demonstruje te same techniki, które są wykorzystywane przy tworzeniu pasków nawigacyjnych.

Page 24: Aplikacje internetowe

Strona którą utworzymy. Ćwiczenie.

Page 25: Aplikacje internetowe

Dokument definiujący układ ramek<head>

<title>Dlaczego mnie nie ma - układ ramek</title>

</head>

<frameset cols="125,*">

<frame src="wybor.html">

<frameset rows="60,*">

<frame src="tytul.html">

<frame src="powod1.html">

</frameset>

</frameset>

</html>

Page 26: Aplikacje internetowe

Dokument definiujący układ ramekz komentarzem

<html><head><title>Dlaczego mnie nie ma - układ ramek</title></head><frameset cols="125,*">

<frame src="wybor.html"> <!-- ładuje stronę z wyboru do lewej ramki

--><frameset rows="60,*"> <!-- ramka dla drugiej kolumny -->

<frame src="tytul.html"> <!-- została zastąpiona --><frame src="powod1.html"> <!-- wewnętrznym -->

</frameset> <!-- układem ramek --></frameset></html>

Page 27: Aplikacje internetowe

Atrybut name znacznika <frame>

• Za pomocą atrybutu name znacznika <frame> możemy nadać nazwę ramce. Jest to niezbędne jeżeli połączenia z jednej ramki przeglądarka ma wyświetlić w innej ramce.

• Ogólny schemat użycia znacznika <frame> z ayrybutem name:

<frame src="dokument_URL" name="nazwa_ramki">

Page 28: Aplikacje internetowe

Atrybut target znacznika <a>

• Ten nowy atrybut, o nazwie target, ma następującą postać:

target="nazwa_okna"

• Za pomocą atrybutu target możemy poinformować przeglądarkę, by wyświetliła stronę, do której prowadzi połączenie, w oknie o nazwie nazwa_okna.

• W zasadzie, nazwa nowego okna może być dowolna, z jednym ograniczeniem — nie może rozpoczynać się od znaku podkreślenia „_”. Takie nazwy są bowiem zarezerwowane dla specjalnych wartości atrybutu target.

Page 29: Aplikacje internetowe

Atrybut target znacznika <a>

• W przypadku zastosowania ramek możemy poinformować przeglądarkę, by wyświetliła stronę, do której prowadzi połączenie, w ramce o nazwie nazwa_okna.

Page 30: Aplikacje internetowe

Dokument definiujący układ ramek z ich nazwami

<head><title>Dlaczego mnie nie ma - układ ramek</title></head><frameset cols="125,*">

<frame src="wybor.html" name="lewa"><frameset rows="60,*">

<frame src="tytul.html" name="gorna"><frame src="powod1.html" name="glowna">

</frameset></frameset></html>

Page 31: Aplikacje internetowe

Zmieniona zawartość pliku wybor.html<html>

<head>

<title>Powody mojej nieobecności</title>

</head>

<body bgcolor="#006699" text="#FFCC66" link="#FFFFFF" vlink="#66CCFF" alink="#FF6666">

<p>Wybierz powód:</p>

<hr>

<p><a href="powod1.html" target="glowna">Powód 1</a></p>

<p><a href="powod2.html" target="glowna">Powód 2</a></p>

<p><a href="powod3.html" target="glowna">Powód 3</a></p>

<p><a href="powod4.html" target="glowna">Powód 4</a></p>

<p><a href="powod5.html" target="glowna">Powód 5</a></p>

<p><a href="powod6.html" target="glowna">Powód 6</a></p>

</body>

</html>

Page 32: Aplikacje internetowe

Znacznik <base>• Stosując atrybut target w definicjach połączeń, napotkamy czasami sytuacje,

w których wszystkie połączenia na stronie (lub ich większość) skierowane są do tego samego okna — zdarza się to najczęściej w przypadku korzystania z ramek.

• W takich przypadkach, zamiast dodawać atrybut target do każdego znacznika <a>, możemy skorzystać ze znacznika <base> i zdefiniować za jego pomocą globalny cel wszystkich połączeń na stronie WWW. Znacznik ten ma następującą postać:

<base target="nazwa_okna">

• Jeśli znacznik <base> umieszczony zostanie w sekcji <head>…</head> dokumentu, każde połączenie utworzone za pomocą znacznika <a>, nie posiadającego odpowiedniego atrybutu target, spowoduje wyświetlenie wskazywanego przez nie dokumentu w oknie określonym przez kod <base target="nazwa_okna">.

Page 33: Aplikacje internetowe

Specjalne wartości atrybutu targettarget="_blank" Powoduje, że dokument wskazywany w

znaczniku <a> jest ładowany do nowego okna nie mającego nazwy.

target="_self" Powoduje, że dokument wskazywany w znaczniku <a> jest ładowany do tego samego okna lub ramki, w którym znajduje się połączenie definiowane znacznikiem <a>. Jest to użyteczne, gdy chcemy, by dane połączenie spowodowało wyświetlenie dokumentu nie w ramce domyślnej, definiowanej przez znacznik <base>, ale w bieżącej.

Page 34: Aplikacje internetowe

Specjalne wartości atrybutu targettarget="_parent" Powoduje, że dokument ładowany jest do

ramki nadrzędnej wobec ramki zawierającej bieżący dokument. Jeśli jednak nie istnieje ramka nadrzędna, będzie stosowane ustawienie target="_self".

target="_top" Powoduje, że ładowany dokument zajmuje całe okno przeglądarki, zastępując całkowicie bieżący układ ramek. Jeśli jednak bieżący dokument jest już w ten sposób wyświetlany, stosowane będzie ustawienie target="_self".