Každý rámec má svou vlastní adresu URL, což umožňuje jeho načítání nezávisle na ostatních rámcích. Každý snímek má svůj vlastní název (parametr NAME), který vám umožňuje přejít na něj z jiného snímku. Velikost rámečku může uživatel měnit přímo na obrazovce pomocí myši (pokud to není zakázáno zadáním speciálního parametru). Tyto vlastnosti rámců umožňují vytvářet řešení rozhraní, jako například:
>> Umístění informací, které je třeba neustále zobrazovat uživateli, do jednoho statického rámce.
>> Umístění obsahu dokumentů na WEB serveru do statického rámce, což uživateli umožňuje rychle najít informace, které ho zajímají.
>> Vytvoření okna s výsledky dotazu, kdy samotný dotaz je v jednom rámci a výsledky dotazu ve druhém.
Syntaxe rámce
Formát dokumentu s rámečky je podobný formátu běžného dokumentu, ale místo tagu BODY je použit kontejner FRAMESET obsahující popis interních HTML dokumentů s informacemi.
Rámcový dokument je však specifickým druhem HTML dokumentu, protože neobsahuje element BODY a žádnou informační zátěž. Popisuje pouze rámce, které budou obsahovat informace. Představme si obecnou syntaxi rámců:
Obecný kontejner FRAMESET popisuje všechny snímky, na které je obrazovka rozdělena. Obrazovku můžete rozdělit na více vertikálních nebo více horizontálních snímků. Tag FRAME popisuje každý snímek samostatně.
Pojďme se na jednotlivé komponenty podívat blíže.
FRAMESET
Štítek má koncový štítek . Cokoli mezi těmito dvěma tagy je tag, subtags a , a kontejner tagů, který vám umožňuje vytvářet duální dokumenty pro prohlížeče, které podporují rámce, a ty, které rámce nepodporují.
Tato značka má dva vzájemně se vylučující parametry: ROWS a COLS. ROWS= “list-of-horizontal-windows-windows” Tento tag obsahuje popisy několika oken, oddělených čárkami. Každý popis je číselná hodnota velikosti podokna v pixelech, procento celkové velikosti okna nebo přidružená hodnota měřítka. Počet podoken je určen počtem hodnot v seznamu. Celkový součet výšek parapetů by měl být výškou celého okna (v libovolných naměřených hodnotách). Absence atributu ROWS definuje jeden rámec, velikost celého okna prohlížeče. COLS=”seznam-definic-horizontálních-oken”. Stejné jako ROWS, ale rozděluje okno svisle místo vodorovně. Pozornost! Použití těchto parametrů společně může vést k nepředvídatelným výsledkům.
Syntaxe použitých typů popisu velikostí podoken:
Jednoduchá číselná hodnota určuje pevnou výšku podokna v pixelech. Toto není nejlepší způsob, jak popsat výšku podokna, protože různé prohlížeče mají různé velikosti pracovní plochy. Pokud použijete tuto metodu popisu velikosti, důrazně se doporučuje kombinovat ji s jinou metodou, aby bylo dosaženo 100% vyplnění okna.
Hodnota velikosti podokna je vyjádřena v procentech od 1 do 100. Pokud celkový součet procent popsaných podoken přesáhne 100, pak se velikosti všech snímků úměrně sníží na součet 100 %. Pokud je tedy součet menší než 100, pak se rozměry úměrně zvětší.
Symbol “*” znamená, že veškerý zbývající prostor bude patřit tomuto rámu. Pokud jsou dva nebo více snímků specifikovány s popisem „*“ (například „*,*“), pak se zbývající prostor rozdělí mezi tyto snímky rovným dílem. Pokud je před hvězdičkou číslo, pak udává poměr pro daný snímek (kolikrát bude větší, než je obdobně popsáno čistou hvězdičkou). Například popis „3*,*,*“ říká, že budou vytvořeny tři snímky s 3/5 volného místa pro první snímek a 1/5 pro další dva.
Příklady:
– popisuje tři rámečky, dva z 50 bodů vpravo a vlevo a jeden uvnitř těchto pruhů.
– popisuje tři snímky, z nichž první zabírá 20 % plochy v horní části obrazovky, druhý 3/4 prostoru zbývajícího z prvního snímku (tj. 60 % celé plochy okna) a poslední 1 /4 (tj. 20 % okna celé plochy.
– podobně jako v předchozím příkladu.
Tagy lze vnořovat, tzn. Například:
Tato značka definuje rámec v kontejneru FRAMESET. Obsah:
SRC=”url”. Popisuje URL dokumentu, který se má zobrazit v daném rámci. Pokud chybí, zobrazí se prázdný rámeček.
NAME=”název_rámce”. Tento parametr popisuje název rámce. Název snímku lze použít k definování akce na daném snímku z jiného dokumentu HTML nebo snímku (obvykle ze sousedního snímku ve stejném dokumentu). Jméno musí začínat znakem. Obsah pojmenovaných rámců lze získat z jiných dokumentů pomocí speciálního atributu TARGET popsaného níže.
MARGINWIDTH=”hodnota”. Tento atribut lze použít, pokud chce autor dokumentu určit velikost okrajů mezi rámečky na straně. Hodnota hodnoty je zadána v pixelech a nemůže být menší než jedna.
MARGINHEIGHT=”hodnota”. Stejné jako MARGINWIDTH, ale pro hodnoty horního a dolního okraje.
SCROLLING=”ano | ne | auto”. Tento atribut umožňuje určit, zda má rám posuvníky. Parametr yes určuje, že posuvníky budou v každém případě, parametr no – nebudou žádné posuvníky. Automaticky definuje posuvníky pouze v případě potřeby (výchozí).
NORESIZE. Ve výchozím nastavení lze velikost rámečku změnit pomocí myši stejně snadno jako velikost okna Windows. NORESIZE tuto možnost zruší. Pokud má jeden snímek nastaven atribut NORESIZE, nelze změnit velikost sousedních snímků ze stejné strany.
NOFRAMES. Tato značka se používá, pokud vytváříte dokument, který lze zobrazit jak v prohlížečích, které podporují rámce, tak v prohlížečích, které je nepodporují. Tato značka je umístěna uvnitř kontejneru FRAMESET a vše uvnitř značek и , je ignorován prohlížeči, které podporují rámce.
Příklad.
Okno prohlížeče je horizontálně rozděleno na dvě stejné zóny (horní a dolní). Horní zóna je rozdělena na dvě podokna o šířce 65 % a 35 %, do kterých se zapisují dokumenty odkaz1.html a odkaz2.html. Spodní zóna je rozdělena na 3 podokna se střední šířkou 40 % a postranními okny stejné šířky pro dokumenty odkaz3.html, odkaz4.html a odkaz5.html.
Vaše verze WEB prohlížeče nepodporuje rámy!
Plánování snímků a interakcí mezi snímky
S příchodem rámců okamžitě vyvstává otázka: “Jak to udělat, aby kliknutí na odkaz v jednom rámci vyvolalo zobrazení informací v jiném?” Odpovědí na tuto otázku je plánování interakce rámců (dále jen plánování).
Každý snímek může mít svůj vlastní název určený parametrem NAME při popisu tohoto rámce. K dispozici je také speciální atribut – TARGET, který umožňuje určit, do kterého rámce ta či ona operace patří. Formát tohoto atributu je následující:
TARGET=”windows_name”.
Tento atribut se může objevit v různých značkách:
TARGET ve značce A.
Toto je nejpřímější použití TARGETu. Obvykle, když uživatel aktivuje odkaz, odpovídající dokument se objeví ve stejném okně (nebo rámu) jako původní dokument, ve kterém byl odkaz umístěn. Přidání atributu TARGET vám umožní zobrazit dokument v jiném rámci. Například:
TARGET v tagu BASE.
Umístění TARGET do značky BASE vám umožní nespecifikovat rámec příjemce dokumentů volaných odkazy při popisu každého odkazu. To je velmi výhodné, pokud máte v jednom rámu nabídku a v jiném se zobrazují informace. Například:
Dokument p 2 (doc2.htm).
TARGET v tagu AREA.
Při vytváření obrázkové mapy můžete do popisu odkazu zahrnout značku TARGET. Například:
TARGET v tagu FORM.
Totéž platí pro definování formuláře. V tomto případě se po zpracování předaných parametrů formuláře výsledný dokument objeví v zadaném rámci.
Pozornost! Název okna (rámce) v parametru TARGET musí začínat latinkou nebo číslicí. Musíte si také pamatovat, že existují vyhrazená jména pro řešení zvláštních situací.
Názvy rezervovaných snímků
Názvy rezervovaných rámců se používají k řešení zvláštních situací. Všechny začínají podtržítkem. Jakékoli další názvy rámců začínající podtržítkem budou prohlížečem ignorovány.
TARGET=”_blank”
Tato hodnota určuje, že dokument přijatý z odkazu se zobrazí v novém okně prohlížeče.
TARGET=”_self”.
Tato hodnota určuje, že dokument přijatý z odkazu bude zobrazen ve stejném rámci jako odkaz. Tento název je vhodný pro přepsání cílového okna zadaného dříve v tagu BASE.
TARGET=”_rodič”.
Tato hodnota určuje, že dokument přijatý z odkazu bude zobrazen v nadřazeném okně bez ohledu na parametry FRAMESET. Pokud neexistuje žádné nadřazené okno, pak je toto jméno stejné jako „_self“.
TARGET=”_top”.
Tato hodnota určuje, že dokument přijatý prostřednictvím odkazu bude zobrazen na celé ploše okna bez ohledu na přítomnost rámců. Použití této možnosti je výhodné v případě vnořených rámů.
Příklad načítání rámů (rám se nenačítá odděleně od ostatních rámů)
Stránka na webu se skládá z několika rámců (fr1.html, fr2.html, fr3.html). Pokud návštěvník otevře jeden z rámců přímo (například po obdržení odkazu z vyhledávacího adresáře), JavaScript zkontroluje, zda je rámec otevřen odděleně od ostatních rámců, a znovu načte, aby se stránka zobrazila s ohledem na všechny rámce ( otevře se soubor index.html). Vyřešíme to následovně: Vytvořte soubor index.html:
Jak vidíte, snímky mají názvy fr1, fr2, fr3. Při otevírání souboru fr1.html musíme zkontrolovat, zda je tento soubor otevřen v rámci nebo ne. Protože víme, že název rámce, kam se má soubor načíst, je fr1, provedeme kontrolu následovně:
Tito. pokud dokument není otevřen v rámci, this.name vrátí prázdnou hodnotu a otevře se soubor index.html.