Iframe a Frame - čo sú a ako najlepšie používať rámce v Html. Zadajte cestu v atribúte Src prvku Frame

Domov / Windows 7

Dobrý deň, milí čitatelia blogu. Dnes si povieme niečo o rámcoch v HTML. Je jasné, že začneme od začiatku, konkrétne s tým, o aký druh zvieraťa ide. Povieme si aj o súčasnosti (Frame) a budúcnosti (Iframe) týchto prvkov v aktuálnej verzii značkovacieho jazyka hypertextu a v novom štandarde Html 5 s .

Na konci článku, po podrobný popis procesu vytvárania vstavaných rámcov a ich klasickej štruktúry v Html kóde (už zriedkavo používanom), dotkneme sa otázky relevantnosti vybudovania stránky na nich a tiež rozoberieme možné spôsoby ich uplatnenie v aktuálnom časovom období na príklade môjho blogu.

Čo to je a ako sa líši Iframe od Frame?

čo je to? Ukazuje sa, že ich možno použiť nielen na webových stránkach, ale aj v akýchkoľvek aplikáciách do programov, líšia sa však tým, že okno webovej stránky alebo aplikácie bude rozdelené do niekoľkých oblastí, z ktorých do každej sa načíta samostatný dokument. . Okrem toho sa tieto rámové oblasti správajú nezávisle od seba.

Asi najzrejmejším príkladom ich využitia, s ktorým ste sa už takmer všetci stretli, sú takzvané súbory pomocníka, ktorými disponuje mnoho programov nainštalovaných vo vašom počítači.

Do ľavého okna sa načíta súbor s ponukou pomocníka a v pravom okne sa zobrazí dokument zodpovedajúci vybranej položke ponuky. Je pozoruhodné, že táto štruktúra vám umožňuje vyhnúť sa opätovnému načítaniu súboru s ponukou do ľavého okna pri otvorení nového dokumentu v pravom. To je práve hlavná výhoda používania rámcov v HTML.

V skutočnosti by sa samotný názov týchto prvkov mal interpretovať ako nezávislé okno. Pomocou rámov máme možnosť rozdeliť jedno veľké okno na niekoľko fragmentov, ktoré zase môžu slúžiť ako prijímače samostatných na sebe nezávislých dokumentov (strany, texty, obrázky, videá atď.).

Ako sa vytvára štruktúra rámca v hypertextovom značkovacom jazyku? Ak hovoríme o štandarde Html 4.01 (podľa klasifikácie), ktorý je v súčasnosti hlavný, potom sa na to používajú tri prvky - Frame, Frameset a Noframes.

Iframe - vstavaný rám v štandarde Html 5

Ak hovoríme o štandarde Html 5 (našej budúcnosti, ktorého niektoré prvky už podporuje veľa prehliadačov), potom už nebudú existovať značky Frame, Frameset a Noframes, ako aj klasická štruktúra rámu jednu jedinú značku iframe (embedded frame) , o ktorej si povieme na začiatku, a potom upriamime pozornosť na klasickú schému z verzie 4.01, ktorá sa teraz skutočne používa.

Iframe, na rozdiel od klasiky diskutovanej nižšie, nevyžaduje nahradenie značky Body značkami Frameset. Tie. túto značku možno vložiť na bežné stránky, napríklad do odseku alebo kdekoľvek inde. Vo svojom jadre je tento prvok veľmi podobný značke Img, o ktorej sme už uvažovali.

Je to vložený prvok s nahradeným obsahom, pretože sa správa presne ako vložený prvok, ale zobrazuje v ňom cudzí obsah. externý obsah. V jazyku HTML sú len štyri takéto prvky – Img, Iframe, Object a Embed. Náš hrdina teda predpokladá prítomnosť externého súboru, ktorý sa načíta do oblasti, ktorej veľkosť je nastavená pomocou atribútov tohto tagu.

To. Iframe je prvok výlevky, do ktorého sa načíta externý objekt (napríklad video). A na označenie cesty k tomuto súboru, ktorý by sa mal na stránke načítať, použite špeciálny atribút Src. Ale na rozdiel od Img je prvok Iframe spárovaný, t.j. K dispozícii je aj záverečná značka:

Tento príklad zobrazuje výstup na stránke videa na YouTube pomocou prvku iframe. Aby sa obmedzila plocha rámu (okna), kde sa bude nakladať externý súbor, existujú atribúty Width a Height, ktorých hodnoty sú špecifikované v pixeloch:

Tie. táto značka vytvára oblasť, do ktorej sa načíta nejaký externý objekt (nezáleží na tom, či je z vášho webu alebo z iného zdroja). Šírka a výška oblasti sú špecifikované pomocou Width a Height a atribút Src určuje cestu k tomuto objektu.

Prvok iframe zdedil všetky tieto atribúty od podobných vložených značiek s nahradeným obsahom (ako je už spomínaný Img). No a z obrázkov prevzal aj atribúty Hspace a Vspace, ktoré umožňujú nastaviť odsadenie od okrajov rámčeka po text, ktorý ho obklopuje.

Je tiež dôležité, že zarovnanie vstavaného rámu sa vykonáva presne rovnakým spôsobom, ako sme mohli vidieť pri štúdiu obrázkov v Html - . Rovnaké Zarovnanie , ale pre značku Iframe s možnými hodnotami Bottom, Top, Middle, Left a Right.

Tento prvok si ale z klasickej rámovej štruktúry prevzal aj niekoľko atribútov z tagu Frame, o ktorom si veľmi podrobne povieme nižšie v texte. Medzi tieto atribúty patrí Názov, ktorého hodnotu možno použiť ako hodnotu, aby sa dokument, ktorý potrebujete po kliknutí na odkaz, otvoril v okne tohto rámca (viac si prečítajte nižšie).

Aj v prvku Iframe sa atribút Frameborder migroval zo značky Frame, ktorá má iba dve hodnoty - buď 0 (rámik okolo rámca sa nezobrazuje) alebo 1 (rámec je viditeľný). Predvolená hodnota je Frameborder=1, takže na jej odstránenie budete musieť zadať Frameborder="0":

Do tohto prvku sa z Frame preniesol aj atribút Scrolling, ktorý má predvolenú hodnotu Auto - rolovacie lišty v rámci sa budú zobrazovať podľa potreby, keď je obsah väčší ako veľkosť okna určeného na jeho zobrazenie.

Z prvku Frame sa presunuli aj atribúty Marginwidth a Marginheight. Podrobne o nich bude reč nižšie v texte, ale v skratke – umožňujú nastaviť odsadenie na šírku a výšku od okrajov rámika po obsah, ktorý je v ňom umiestnený.

Ako som už spomenul, jasným príkladom použitia iframe je:

Vložením iframe priamo do webovej stránky získate výstup videa z YouTube. Dospeli sme k záveru, že tento prvok je krížencom medzi inline prvkami s nahradeným obsahom a v skutočnosti klasickými rámcami, o ktorých si teraz povieme.

Rámy založené na tagoch ​​Frame a Frameset - ich štruktúra

Takže vytvorenie klasickej štruktúry rámca začína tým, že napíšete do Html kódu namiesto otváracích a zatváracích značiek Body, ktoré by zvyčajne mali byť prítomné v akomkoľvek dokumente, a nahradíte ich kontajnerom založeným na prvkoch Frameset.

Základným bodom je, že v tomto prípade nemožno použiť prvok Body - buď Body (pre bežný dokument), alebo Frameset (pri vytváraní štruktúry rámca dokumentu):

Každý rám, ktorý vytvoríme vo vnútri hlavného, ​​je vytvorený pomocou samostatného prvku Rám. Tento tag je jednoduchý a nastavujeme v ňom cestu k dokumentu, ktorý sa nám načíta do tohto okna.

Tretím prvkom, ktorého sme sa ešte nedotkli, je Noframes. Je spárovaný a umožňuje do neho napísať nejaký text, ktorý prehliadač spracuje a zobrazí na webovú stránku iba ak ten istý prehliadač (alebo iné zobrazovacie zariadenie) nepodporuje rámce. Môže sa to stať napríklad vtedy, ak používate prehliadač pre mobilné zariadenia.

Zvyčajne Noframes pridávajú nielen informácie o aktuálnej situácii s nemožnosťou spracovania rámovej štruktúry, ale pridávajú aj možnosť prejsť na iné stránky, kde môžete pokračovať v práci bez ich použitia. Je ťažké o ňom povedať niečo iné, takže pokračujme.

Ukazuje sa, že prvok Frameset, ktorý sa používa namiesto značky Body, zaberá celý priestor vyhradený pre oblasť zobrazenia a rámy sa vytvoria v tejto oblasti pomocou jednotlivé prvky Rám. V tejto súvislosti vyvstáva otázka - ako rozdeliť pozorovaciu plochu medzi samostatné okná alebo, inými slovami, ako nastaviť veľkosť každého z nich.

To sa dosiahne pridaním príslušných atribútov do prvku Frameset. Sú dve - Cols a Rows. Cols nastavuje rozdelenie veľkého okna na vertikálne rámy alebo stĺpce a Rows umožňuje rozdeliť ho na horizontálne okná alebo riadky.

Vytvorenie štruktúry na základe Frameset a jeho atribútov Cols a Rows

Hodnoty stĺpcov a riadkov značky Html Frameset sú čísla oddelené čiarkami (bez medzier). Tieto čísla nastavujú proporcie okien, ktoré chceme ako výsledok získať. Preto bez ohľadu na to, koľko čísel oddelených čiarkou je napísaných v stĺpcoch alebo riadkoch, výsledkom bude počet snímok, ktoré máme.

Napríklad pomocou tohto zápisu dostaneme tri zvislé stĺpce, ktorých šírka bude zodpovedať pomeru 2:5:3.

Keďže sme nastavili proporcie pre tri snímky, budeme musieť zahrnúť tri prvky Frame medzi otváraciu a zatváraciu značku Frameset, aspoň bez zadania ďalších atribútov:

V dôsledku toho bude naša rámová štruktúra pozostávajúca z troch prázdnych okien vyzerať takto:

V tomto príklade nastavujeme veľkosti okien (Frame) pomocou percent, ktoré sú prevzaté zo šírky oblasti zobrazenia (to je prípad použitia Cols) alebo z jej výšky (Rows). Pri zmene výrezu sa zachová percentuálny vzťah medzi veľkosťami snímok. Namiesto percent však môžete použiť aj jednoduché čísla, ktoré budú znamenať. Myslím si, že ani tu by nemali vzniknúť ťažkosti s porozumením.

V označení veľkosti je však aj dosť nezvyčajná možnosť, ktorá vyzerá ako hviezdička „*“. Okrem toho to môže byť buď iba „*“ alebo hviezdička s číslom vpredu, napríklad „3*“. Šikovná vec, ktorá je veľmi podobná percentám a znamená, že priestor pre Rám rozdelíme proporcionálne.

Pozrime sa na príklad. Teraz sa rozhodnime rozdeliť zobrazovaciu oblasť na vodorovné riadky pomocou riadkov:

Čo znamená tento záznam? Celá zobrazovacia plocha, ktorú máme k dispozícii vertikálne, bude rozdelená do troch riadkov. Výška prvého bude meraná na 200 pixelov, druhá - na 500, ale tretí riadok bude zaberať všetok zostávajúci priestor na výšku, pretože Ako jeho veľkosť bola použitá „*“.

Pozoruhodné je, že hodnoty „*“ a „1*“ znamenajú to isté – všetok zostávajúci priestor rozdelíme do jedného a túto jednu časť pridelíme tomuto rámu (teda celý zostávajúci priestor).

Pozrite sa však, čo sa stane, ak použijete hodnotu „*“ s číslom na rozdelenie v pomere:

Aké budú podľa vás rozmery Frame v tomto prípade? Je jasné, že druhý riadok bude mať určite výšku 100 pixelov. Ako sa však rozdelí zvyšný priestor na výšku medzi tretí a prvý rad?

Je to celkom jednoduché vypočítať – stačí pridať štyri (4*) k dvom (2*) a vydeliť týmto menovateľom (zapamätajte si zlomky zo školských osnov) dva a štyri. Tie. dostaneme, že prvý stĺpec s rámom zaberie na výšku jednu tretinu zostávajúceho priestoru a tretí stĺpec zaberie dve tretiny. Alebo inými slovami, tretia bude dvakrát vyššia ako prvá:

Môžete použiť všetky tri spôsoby veľkosti okien rámu v jednom atribúte, napríklad:

V dôsledku toho dostaneme prvý stĺpec Frame so šírkou desať percent celej dostupnej plochy, druhý - 100 pixelov a zvyšné tri budú mať šírku v pomere štyri, tri a dve deviatiny zostávajúci priestor na šírku. Takže všetko je jednoduché a jasné.

Ak chcete hlavné okno rozdeliť nielen na horizontálne a vertikálne rámy, ale napríklad aj na ich kombinácie, potom môžete použiť vnorenú štruktúru prvkov Frameset zvlášť pre stĺpce a zvlášť pre riadky. Napríklad, aby ste získali štruktúru zobrazenú na obrázku nižšie, stačí použiť nasledujúcu konštrukciu:

Tie. najprv všetko rozdelíme "frameset cols="20%,80%"". dostupný priestor do dvoch stĺpcov vertikálne a obsah pravého stĺpca nastavíme tagom „frame“, no namiesto pridania prvku „frame“ pre ľavý stĺpec otvoríme nový „frameset rows = „10%,*““.

A pomocou neho rozdelíme pravý stĺpec na dva riadky s rámami, ktorých obsah sa nastavuje pomocou dvoch tagov „frame“, potom oba kontajnery „frameset“ zatvoríme. Všetko je jednoduché a logické.

Zadajte cestu v atribúte Src prvku Frame

Všetci sme ale hovorili o prvku Frameset a jeho atribútoch Cols a Rows, pomocou ktorých tvoríme štruktúru a nastavujeme ich veľkosti. Teraz poďme zistiť, ako zobraziť potrebné dokumenty v požadovaných rámcoch a ako nakonfigurovať interakciu medzi ich oknami.

Ako teda zvládame vzhľad? vytvorené okná? Toto všetko je obsiahnuté v atribútoch značky Frame. Prvý, ktorý stojí za zmienku, je Src. Už sme sa s ním stretli štítok Obr keď sme sa pozreli na vkladanie obrázkov do Html kódu. Jeho podstata sa nezmenila a stále umožňuje určiť cestu k dokumentu, ktorý sa má načítať do rámca.

Cesta k dokumentu v Src môže byť špecifikovaná ako . Relatívne cesty sa zvyčajne používajú pre dokument, ktorý sa nachádza vo vašom vlastnom zdroji, ale ak chcete načítať dokument z inej lokality do okna rámca, budete potrebovať absolútne cesty.

Ak nie je zadaný atribút Src, ktorý označuje cestu k požadovaný dokument, potom sa do okna vloží prázdny dokument. Osobne som raz urobil podobnú vec pre svoj blog (ako doplnkový navigačný prvok) a zároveň som preň vytvoril samostatný priečinok na hostingovom serveri a umiestnil som tam nielen Html súbor s rámcovou štruktúrou (ktorý som nazval index .html), ale aj všetky načítané do rôznych okien dokumentov, ako aj obrázkové súbory, ktoré boli použité ako pozadie.

Preto bolo pre mňa najjednoduchšie použiť relatívne odkazy v atribúte Src značky Frame:

Pozoruhodné je, že ak nahradíte všetky odkazy uvedené v tomto kóde z relatívneho na absolútne (napríklad https://site/navigator/joomla.html) a otvoríte tento súbor v prehliadači, načítajú sa dokumenty špecifikované v Frame. z môjho servera a vo vašom prehliadači uvidíte podobný obrázok. Navyše nezáleží na tom, kde sa váš súbor s rámcovou štruktúrou (index.html) bude nachádzať – na vašom počítači alebo na hostingu.

V príklade znázornenom na obrázku sa do okna ľavého rámu načíta stránka s určitým menu, ktoré je bežným menu. Dôležité však nie je to, ako sa menu tvorí, ale čo sa stane po kliknutí na ktorýkoľvek z jeho odkazov.

Ak to urobíte, všetko sa stane presne tak, ako má - dokument sa otvorí v pravom dolnom okne. Na to som však musel použiť jeden malý trik, pretože v predvolenej verzii sa dokument otvoril na celú veľkosť okna a nahradila štruktúru rámu, ktorú som vôbec nepotreboval, pretože navigačné menu v ľavom a hornom ráme zmizol.

Ako otvárať dokumenty pomocou odkazu v rámci

Takže, keď sme hovorili o hypertextových odkazoch, spomenuli sme atribút značky „A“ ako Target=_blank. Pamätáte si, na čo slúži? Je správne otvoriť prepojený dokument v novom okne. V predvolenom nastavení by sa mal otvárať v rovnakom okne, ktoré je ekvivalentom target="_self".

Tým sa však schopnosti Targetu nekončia. Ukazuje sa, že k nemu môžete pridať hodnotu vo forme názvu rámca, ktorý je predtým špecifikovaný v špeciálnom atribúte Name značky Frame. Potom sa dokument cez tento odkaz neotvorí v tom istom okne, ktoré zaberie celý priestor, ale vo vami zadanom ráme. Je to jasné? Ak nie úplne, potom to bude jasné teraz, keď budeme analyzovať príklad.

Vráťme sa teda k nášmu príkladu znázornenému na obrázku vyššie. Stránky musíme otvárať pomocou odkazov z ľavého okna v pravom dolnom (veľkom) ráme. Preto najprv musíte tomuto veľkému oknu pomenovať pomocou atribútu Name v tagu Frame.

Vyrobili to a nazvali to „ktona“. Teraz môžete bezpečne otvoriť súbor, ktorý sa načíta ako ponuka v ľavom okne a pridať atribút Target="ktona" ku všetkým značkám A v ňom:

História Joomly a komponentu VirtueMart

Samozrejme, že pomocou nástroja na vyhľadávanie a nahradenie nebude ťažké odložiť ho pre všetky hypertextové odkazy, ale prečo zbytočne zaťažovať kód, keď máme skvelú príležitosť použiť špeciálny tag Base, ktorý sme už spomínali v tom istom článok o hypertextových odkazoch, keď hovorili o použití Target blank.

Stačí umiestniť element base target="ktona" medzi otváraciu a zatváraciu značku Head a všetky odkazy v Html kóde tohto dokumentu otvoria nové stránky v zadanom rámci s názvom "ktona":

Mimochodom, ak vezmeme ako príklad môj kedysi existujúci nástroj, potom sa ešte musíme uistiť, že všetky odkazy z horného horizontálneho okna otvárajú svoje stránky v ľavom vertikálnom ráme, ktorý slúži ako moje ľavé menu. Čo je pre to potrebné urobiť?

Najprv musíte pomenovať ľavý vertikálny rám:

A do súboru, ktorý sa načíta do horného okna (gor.html), musíte pridať element base target="gor":

To je všetko, teraz sme urobili všetko správne. Všetky dokumenty nasledujúce po odkazoch z horného rámca sa otvoria v ľavom okne a všetky odkazy z neho otvoria dokumenty v centrálnom a najväčšom rámci. Podľa mňa je všetko jednoduché a logické.

Atribúty značky rámu na prispôsobenie vzhľad okná

Pozrime sa teraz, aké atribúty okrem Src a Name možno použiť v značke Frame na prispôsobenie vzhľadu snímok. Začnime rolovaním. Pomocou neho môžeme nakonfigurovať zobrazenie posuvníkov pre každé okno vašej rámovej štruktúry samostatne.

Posúvanie má predvolenú hodnotu Automaticky – prehliadač sa na základe veľkosti dokumentu načítaného do rámca automaticky rozhodne, či sa má zobraziť posuvník alebo nie. Ak sa dokument úplne nezmestí do okna, zobrazí sa posuvná lišta, ktorá vám umožní zobraziť ho celý až do konca.

Môžete tiež použiť hodnoty Yes (posúvacie lišty v okne budú vždy zobrazené, aj keď sa do nich dokument úplne zmestí) a Nie (posúvacie lišty sa nikdy nezobrazia, aj keď sa časť dokumentu nezmestí) ako hodnoty pre rolovanie.

V mojom kedysi existujúcom nástroji som použil predvolenú hodnotu Auto a posúvacie lišty v rámoch sa objavili podľa potreby:

Ďalší atribút značky Frame, Noresize, je jediný atribút (nemá žiadne hodnoty). Jeho registráciou tak zakážete meniť jeho veľkosť, čo sa štandardne vykonáva jednoduchým potiahnutím okraja rámčekov myšou.

Keď presuniete kurzor myši na okraj, uvidíte, že kurzor sa zmení na obojstrannú šípku a teraz kliknutím na ľavé tlačidlo myšou, môžete posúvať hranicu, ako chcete. Noresize zakazuje túto svojvôľu (keď presuniete kurzor myši na okraj okien, obojsmernú šípku už neuvidíte).

Ďalším vizuálnym atribútom je Frameborder. Pomocou nej môžete určiť, či sa má medzi rámčekmi kresliť rám (okraj) alebo nie. Rámec môže mať iba dve možné hodnoty - buď 0 (nekresliť rám) alebo 1 (zobraziť rám). Predvolená hodnota je samozrejme 1.

Je tu jedna jemnosť. Ak chcete odstrániť viditeľné orámovanie, budete musieť pridať Frameborder=0 do všetkých značiek Frame rámov, medzi ktorými chcete odstrániť viditeľné okraje.

Stále musíme zvážiť niekoľko atribútov značky Frame - Marginwidth a Marginheight, ktoré nastavujú okraje na šírku (vpravo a vľavo) a výšku (hore a dole) od okrajov okna po obsah, ktorý sa do neho načíta. (číslo znamená počet pixelov okraja):

Prečo nemôžete urobiť webovú stránku na rámoch?

Pozrime sa, v čom spočíva zásadná nevýhoda klasických štruktúr, ktorá v podstate ukončuje ich používanie pri tvorbe webstránky. Spočíva v tom, že pomocou tejto rámcovej štruktúry nie je možné sledovať jeho stav.

Komplexné štruktúry môžu mať tisíce rôznych stavov (varianty dokumentov otvorených v rôznych rámových oknách), ale URL adresa práve tejto štruktúry sa nemení. Z tohto dôvodu nebude možné používať záložky prehliadača alebo posielať odkazy na stránky, ktoré sa vám páčia, iným používateľom. prečo?

Pretože adresa zostáva nezmenená, aj keď ju otvoríte zo záložiek prehliadača alebo z e-mailu e-mailom, dostanete stránku s počiatočným stavom štruktúry rámca a nie stavom, ktorý by ste chceli uložiť.

Aj keď sa tento problém, samozrejme, dá vyriešiť, ale nie pomocou nástrojov HTML, ale pomocou serverových (napríklad Php) alebo klientskych programovacích jazykov (JavaScript) a tieto riešenia nebudú stopercentne efektívne. Takéto riešenia vám v skutočnosti umožňujú pridať ďalšie údaje o aktuálnom stave na adresu URL štruktúry rámca, ale nie je to ľahké a spoľahlivosť nebude absolútna.

Toto je prvá nevýhoda používania rámcov na vytváranie webových stránok a je veľmi významná, no je tu ešte jedna obrovská nevýhoda. Vyhľadávače sa ich, samozrejme, už dávno naučili indexovať a extrahovať z nich adresy tých dokumentov, ktoré sa im načítajú do okien. Problém je iný.

Keď používateľ prejde z výsledkov vyhľadávania Yandex alebo Google na váš web vytvorený na základe rámcovej štruktúry, otvorí sa iba dokument, ktorý bol načítaný do jedného z rámcov, a nie celá štruktúra. Rozumieš, o čom hovorím?

Používateľ uvidí dokument a neuvidí navigáciu na vašom webe, pretože bude chránený v iných oknách a tie sa načítavajú len ako súčasť celej štruktúry.

V dôsledku toho sa stránka postavená na rámoch jednoducho stane nepoužiteľnou. Aj keď opäť existujú riešenia tohto problému založené na serverových skriptoch, keď sa uskutoční presmerovanie z adries jednotlivých dokumentov do rámcovej štruktúry umiestnenej v v správnom stave, ale opäť je to veľmi ťažké a nie vždy spoľahlivé.

Vo všeobecnosti možno záver vyvodiť jednoznačne - nie je potrebné vytvárať webové stránky na rámoch. Neustále sa ale používajú na vytváranie pomocníkov pre rôzne aplikácie a môžu sa hodiť v iných drobnostiach.

Napríklad som vytvoril rámcovú štruktúru, ktorú som nazval „Navigátor“ (teraz bola dočasne odstránená) a ktorá sa stala akýmsi rozšíreným externým menu pre môj blog, čo by podľa mňa malo zjednodušiť prácu so zdrojom. a preto zlepšiť „žiadne nezmysly“ majú veľmi, veľmi silný vplyv na propagáciu stránky.

Aby sa však predišlo prípadným problémom s vyhľadávače, celú túto rámovú štruktúru som uzavrel a pre istotu som k nej aj pridal HTML súbory Metaznačka Rodots so zákazom ich indexovania:

JOOMLA

Všetky tieto obmedzenia sa však vzťahujú iba na štruktúry na značkách Frame a Frameset a vstavané snímky na značkách Iframe nemajú žiadne viditeľné nevýhody a môžu a dokonca by sa mali používať vo vašich projektoch, aspoň na vkladanie videí z YouTube.

Nech sa vám darí! Uvidíme sa čoskoro na stránkach blogu

Mohlo by vás to zaujímať

Direktívy komentárov a Doctype v kóde Html, ako aj koncept blokových a vložených prvkov (tagov)
Embed a object - Html tagy pre zobrazovanie mediálneho obsahu (video, flash, audio) na webových stránkach
Img - Html tag na vloženie obrázka (Src), zarovnanie a obtekanie textu okolo neho (align), ako aj nastavenie pozadia (pozadia)
Čo je hypertextový značkovací jazyk Html a ako zobraziť zoznam všetkých značiek vo validátore W3C Select, Option, Textarea, Label, Fieldset, Legend - tagy HTML formuláre rozbaľovacie zoznamy a textové pole
Zoznamy v Html kóde - UL, OL, LI a DL tagy
Písmo (tvár, veľkosť a farba), blockquote a značky Pre – staršie formátovanie textu v čistom HTML (bez pomocou CSS)
Ako sa nastavujú farby v Html a CSS kóde, výber odtieňov RGB v tabuľkách, výstup Yandex a iné programy

Na úsvite tvorby webových stránok webové zdroje široko používali rámce na zobrazenie jednotlivých častí stránok. S príchodom novej verzie HTML 5 sa ale všetko zmenilo. Prvky značiek a sú zastarané. Nahradil ich jediný tag - . Ako pridať do html? Príklad nižšie bude jasný aj začiatočníkovi v programovaní.

Čo sú rámy?

Rám je základom väčšiny prvých webových stránok. Ak je toto slovo preložené doslovne, znamená „rám“, to znamená, že rám je malá časť stránky v prehliadači. Široké používanie rámcov v minulosti možno vysvetliť nízkou kvalitou a vysokými nákladmi na internetový prenos. Stránka bola spravidla rozdelená na 3 až 5 častí, z ktorých každá slúžila konkrétnemu účelu:

  • „hlavička“ (horný rám pozdĺž šírky stránky) - zobrazuje názov zdroja;
  • ľavé/pravé „sklo“ - zobrazenie ponuky;
  • Centrálny rám je zobrazenie obsahu stránky.

Rozdelenie stránky na časti umožnilo pri aktualizácii preťažiť len určitú časť. Používateľ napríklad klikol na položku ponuky a do centrálneho rámca sa stiahol nový obsah.

Moderné rámce v HTML 5

Prečo je to potrebné v HTML? Príkladom je vkladanie obsahu zo zdroja tretej strany. Klasická situácia je, keď webový vývojár chce zobraziť polohu objektu na mape. čo mám robiť? Nakresliť plán lokality od začiatku? Nie – existuje jednoduchšie riešenie: vložte na stránku prvok Google Map, Yandex Maps alebo 2GIS. Problém je vyriešený v štyroch krokoch.

  • Musíte prejsť na webovú stránku akejkoľvek mapovacej služby.
  • Nájdite požadovaný objekt. Keď poznáte presnú adresu, môžete ju zadať do vyhľadávacieho okna.
  • Pomocou tlačidla „Uložiť a získať kód“ (pre Yandex.Maps) alebo „Hotovo“ (pre Google mapy) získajte kód na vloženie.
  • Zostáva len zadať vygenerované značkovacie značky na stránku.
  • Okrem toho môžete vybrať veľkosť mapy a nakonfigurovať ďalšie možnosti zobrazenia.

    Ako inak ho môžete použiť v HTML?? Príkladom je vkladanie video materiálov zo zdroja Youtube. Multimediálne technológie priťahujú používateľov internetu, a preto je video obsah taký populárny. Vývojár zvládne inštaláciu videa rýchlo.

  • Mali by ste nahrať svoje vlastné video na Youtube alebo nájsť súbor tretej strany na vysielanie.
  • Značku získate kliknutím na tlačidlo „HTML Code“.
  • Posledným krokom je vloženie do . Príklad výsledného obsahu značky bude diskutovaný nižšie.
  • Oba príklady používali automatické generovanie kódu, no profesionálni vývojári by mali byť schopní písať kód sami. Po prvé, umožní im to pochopiť rozloženie stránky a v prípade potreby ju upraviť. Po druhé, označenie prvkov lokality (aj keď patria k externému zdroju) sa nie vždy vytvára bez účasti správcu webu. Tu vstupuje do hry vysoká kvalifikácia vývojára.

    Syntax

    Takže predtým, ako začnete s rozložením stránky, musíte zvážiť značku iframe (html): čo to je a ako ju správne používať.

    V prvom rade si treba uvedomiť, že tag je spárovaný. Medzi otváracím a zatváracím prvkom určíte obsah, ktorý sa bude zobrazovať v prehliadačoch, ktoré nepodporujú tento značkovací prvok. Hlavné atribúty značky:

    • šírka (šírka);
    • výška (výška);
    • src (adresa prevzatého zdroja);
    • zarovnať (metóda zarovnania);
    • rámová hranica;
    • povolená celá obrazovka.

    Kód pre . Príklad HTML je uvedený nižšie:

    Vo vyššie uvedenom označení stačí nahradiť adresu stránky akoukoľvek inou a v prípade potreby upraviť veľkosť rámca.

    Kontrola stránok na prítomnosť vírusov často nezistí vložky iframe, ktoré môžu obsahovať odkazy na pochybné stránky, ale nová verzia Antivírusový doplnok WP ich označí.

    Samotné vložky iframe nie sú škodlivým kódom, takže ich online služby, ktoré skenujú web na prítomnosť vírusov, ich často nezistia. Pomocou vložiek iframe sa často načítavajú súbory, ktoré sa môžu nachádzať na externom zdroji. Túto metódu možno použiť napríklad na nahranie videa na váš web z You Tube. Útočníci však veľmi často používajú vložky iframe na nahrávanie súborov s podozrivým obsahom na webovú stránku obete.

    Už som napísal, že som sa opakovane stretol so zjavne infikovanými stránkami, ale ich kontrola na zdroji antivirus-alarm.ru pomocou databáz popredných vývojárov antivírusov neodhalila nič podozrivé. Kontrola na 2ip.ru naznačila prítomnosť podozrivých vložiek iframe, ale bez uvedenia konkrétneho miesta v kóde, kde by sa dali nájsť. Taktiež neuvádzalo, či tieto vložky boli prospešné alebo škodlivé.

    Ale s prepustením najnovšiu verziu S pluginom WP sa situácia zmenila. Podľa vývojára tento doplnok teraz zobrazuje vložky iframe. A vy sami budete môcť určiť, či sú škodlivé alebo nie. Vedieť, ako vyzerá vloženie prvku iframe:

    Ak ho plugin zistí, na základe adresy zdroja uvedeného v tejto prílohe je ľahké určiť, či je užitočný alebo škodlivý.

    Na rozdiel od antivírusov pre počítače, ktoré samy vyhľadávajú a odstraňujú škodlivý kód, väčšina antivírusov pre stránku, ako napríklad AntiVirus, nájde iba kód, ktorý je z ich pohľadu podozrivý. O jeho odstránení a samotnom odstránení rozhoduje používateľ. Navyše pre začiatočníkov, ktorí nie sú oboznámení s PHP, skutočne pomôže iba doplnok TAC určený na testovanie témy. Poznám len jeden plugin, ktorý nielen nájde, ale aj odstráni zlý kód. Bohužiaľ, tento plugin má jednu nepríjemnú vlastnosť. Ak sa nedokáže vyrovnať s infekciou na stránke, zablokuje prístup na stránku bez vyžiadania povolenia.

    Preto by ste nemali inštalovať antivírusové doplnky, ak sa na vašej stránke nič podozrivé nestane. Ak chcete vykonať preventívnu kontrolu webovej stránky na prítomnosť vírusov, je rozumnejšie použiť vyššie uvedené online služby. Až potom, čo bolo v týchto službách identifikované niečo podozrivé, môžete sa obrátiť na doplnky, ktoré vám pomôžu určiť polohu škodlivý kód. Opäť nie každý má na to kvalifikáciu. Pre začiatočníkov bude jednoduchšie vyhľadať pomoc technického personálu. podpora hostingu.

    Leví podiel stránok sa infikuje po infikovaní počítača majiteľa. V dôsledku toho sú ukradnuté prihlasovacie meno a heslo správcu. panelov alebo z hostingu. A len malá časť sa infikuje v dôsledku hackovania. Preto najdôležitejším opatrením na ochranu stránky je zachovanie bezpečnosti vášho počítača. Nezabudnite, že počítač musí mať aj dobrý .

    Urobili sme analóg nástroj Google Webmaster Marker. Dovoľte mi pripomenúť, že Marker je nástroj v účte Google Webmaster, ktorý vám umožňuje anotovať vaše stránky Open Graph značkami. Ak to chcete urobiť, jednoducho vyberte časť textu na stránke pomocou myši a označte, že toto je názov a toto je hodnotenie. Vaša stránka sa potom načíta do prvku iframe v účte správcu webu.

    Teraz, keď Google narazil na podobnú stránku na vašom webe, už vie, aký druh obsahu je na nej zverejnený a ako ho krásne analyzovať do jeho podstaty (článok, produkt, video..)

    Potrebovali sme podobnú funkčnosť. Úloha sa zdala jednoduchá a výlučne zo strany klienta. V praxi sa však riešenie nachádza na priesečníku strany klienta a strany servera („čistí“ programátori JS nemusia vedieť nič o rôznych proxy serveroch a prístup k projektu im trvá veľmi dlho). Na internete som však nenašiel článok, ktorý by popisoval celú technológiu od začiatku až do konca. Tiež by som sa chcel poďakovať používateľovi BeLove a našim ochrankárom za pomoc.

    V našom prípade sme chceli, aby webmaster mohol pohodlne (kliknutím myšou) získať hodnotu xPath pre určité prvky na svojej stránke.

    Iframe “Same Origin” A tak v našom admin paneli musí človek zadať URL stránky svojej stránky, my ju zobrazíme v iFrame, človek ukáže myšou tam, kde je to potrebné, dostaneme požadovanú xPath. Všetko by bolo v poriadku, ale nemáme prístup k obsahu stránky z inej domény načítanej do iframe v našom admin paneli (naša doména), kvôli bezpečnostnej politike prehliadača.CORS – zdieľanie zdrojov medzi zdrojmi Niektorí ľudia mi poradili použiť CORS. Módna technológia, ktorá rieši mnohé problémy s prístupom k obsahu z inej domény v prehliadači a umožňuje vám obísť rovnaké obmedzenia politiky pôvodu.
    Stránka, ktorá chce poskytnúť prístup k svojmu obsahu na stránkach domény niekoho iného, ​​jednoducho napíše do hlavičky http:
    Access-Control-Allow-Origin: http://example.com
    A v hlavičke http požiadavky prichádzajúcej zo stránky inej domény z prehliadača musí byť pole pôvodu:
    Pôvod: www.mysupersite.com
    Je jasné, že samotný prehliadač pridá pole pôvodu do požiadavky. Pridajme článok o Habré a uvidíme čo moderné prehliadače pridajte Origin aj k žiadosti o rovnakú doménu:

    Avšak:

  • prehliadač neuvádza pôvod v hlavičke žiadosti o načítanie stránky v rámci iframe (vie niekto vysvetliť prečo?)
  • nechceme od správcov webu žiadať, aby špecifikovali hlavičku Access-Control-Allow-Origin
  • Iframe sandbox Ďalšia módna technológia. Sandbox je atribút značky iframe. Jedna z hodnôt tohto atribútu môže byť nastavená na allow-same-origin . Predtým, ako som sa začal zaoberať touto témou, nevedel som, čo presne tento atribút robí, ale znelo to veľmi lákavo. Atribút karantény však jednoducho obmedzuje, čo môže stránka načítaná v prvku iframe robiť, a nemá žiadny vplyv na problém prístupu k obsahu rámca z nadradeného dokumentu.

    Konkrétne hodnota allow-same-origin (alebo skôr jej absencia) len hovorí, že iframe by sa mal vždy považovať za načítaný z cudzej domény (napríklad nemôžete poslať požiadavku AJAX na doménu nadradeného dokumentu z takejto domény). rám)

    Pozrime sa, ako to urobil Google Čas vidieť, ako to urobil veľký brat

    Venujme pozornosť atribútu src prvku iframe: src="https://wmthighlighter.googleusercontent.com/webmasters/data-highlighter/RenderFrame/007..." - naša stránka sa načítava do panela správcu z doméne Google. Ďalej je to ešte závažnejšie: dokonca aj skripty a obrázky v zdrojovom dokumente sa spúšťajú cez proxy. Všetky src, href... sú nahradené v html s proxy. Niečo takéto:

    Všetky zdroje, ktoré používa vaša stránka, sú tiež uložené na serveroch proxy Google. Tu je napríklad tá naša.

    CGIProxy? Okamžite sa zdalo, že na to, aby ste urobili to isté, musíte získať plnohodnotného proxy, ako je CGIProxy. Tento proxy server robí približne to isté ako wmthighlighter.googleusercontent.com od Google
    Navštívte adresu URL skriptu a spustite reláciu prehliadania. Keď stránku dostanete cez proxy, všetko, na čo odkazuje, automaticky prejde cez proxy. Stránky, ktoré prehliadate, si môžete uložiť do záložiek a vaše záložky prejdú cez proxy server tak, ako to bolo prvýkrát. Váš vlastný proxy! Ak však úlohu zúžite, napísanie jednoduchého proxy sami je oveľa jednoduchšie. Faktom je, že Google to robí, odosielanie všetkého obsahu stránky cez proxy nie je vôbec potrebné. Potrebujeme iba html ľubovoľnej stránky, ktorá sa má obsluhovať z našej domény, a zdroje je možné načítať z pôvodnej domény. HTTPS sme zatiaľ zavrhli.
    Tu nie je potrebný super výkon ani pohodlné nastavenia, a to sa dá urobiť rýchlo a pomocou čohokoľvek, od node.js až po php. Napísali sme servlet v jazyku Java Stiahnite si stránku Čo by mal proxy servlet robiť? Pomocou parametra get získame adresu URL stránky, ktorú je potrebné načítať, a potom stránku stiahneme.

    Nezabudnite určiť kódovanie stránky (prostredníctvom odpovede http alebo znakovej sady v html) – náš proxy musí odpovedať v rovnakom kódovaní ako stránka, ktorú sme načítali. Pre každý prípad zadefinujeme aj typ obsahu, aj keď je jasné, že stránku dostávame v texte/html a vrátime to rovnakým spôsobom.
    final String url = request.getParameter("url");
    final HttpGet requestApache = new HttpGet(url);

    final HttpClient httpClient = new DefaultHttpClient();
    final HttpResponse responseApache = httpClient.execute(requestApache);
    final HttpEntity entity = responseApache.getEntity();
    konečné kódovanie reťazca = EntityUtils.getContentCharSet(entita);
    final String mime = EntityUtils.getContentMimeType(entita);
    String responseText = IOUtils.toString(entity.getContent(), kódovanie); *Pre tých, ktorí radi hodnotia kód iných ľudí: v našom tíme má každý rovnaké nastavenie formátovania kódu eclicpse a pri ukladaní súboru sám eclipse pridá konečnú hodnotu všetkým premenným, ak sa nikde inde nezmenia. Čo je, mimochodom, v konečnom dôsledku celkom pohodlné. Zmena relatívnych URL na absolútne URL v kóde stránky Musíte prejsť všetky atribúty s src a href na stránke (cesty k súborom štýlov, obrázky) a nahradiť relatívne URL absolútnymi. V opačnom prípade sa stránka pokúsi stiahnuť obrázky z niektorých priečinkov na našom serveri proxy, ktoré prirodzene nemáme. Každý jazyk má pripravené triedy alebo môžete nájsť úryvky kódu na stackoverflow:
    Samozrejme sa snažíme zakázať tieto veci v našom proxy, ak sa niekto pokúsi použiť proxy localhost, ukončíme sa bez toho, aby sme čokoľvek vrátili:
    if (url.contains("localhost")||url.contains("127")||url.contains("zvýraznenie")||url.contains("súbor")) ( LOG.debug("Pokúšam sa získať miestny zdroj Url = " + url); návrat; )
    ale jednoznačne tu neuvedieme všetky sieťové zdroje. To znamená, že musíme presunúť proxy do úplne izolovaného prostredia, aby stroj nevidel nič okrem internetu, seba a nášho proxy. Vyberieme stroj, nakonfigurujeme a spustíme tam náš servlet XSS problém Nahrajme našu stránku do nášho iframe, na ktorý budeme písať:
    upozornenie("xss")
    Objaví sa upozornenie. žiaľ. Dá sa to obísť atribútom iframe sandbox allow-scripts, ale čo staršie prehliadače, ktoré tomuto atribútu v skutočnosti nerozumejú? Svoje sušienky môžete iba ukradnúť, ale stále ich nemôžete nechať tak.
    Presunieme servlet nielen na samostatný stroj, ale dáme mu aj samostatnú subdoménu highlighter.indexisto.com .

    Prišli sme, zlomili sme naše vlastné riešenie obchádzaním obmedzení medzi doménami. Teraz sa znova nedostaneme k obsahu prvku iframe.

    Pokračujúc v hľadaní riešenia od spoločnosti Google som otvoril našu stránku poskytovanú prostredníctvom servera proxy v samostatnom okne

    A všimol som si zvláštnu chybu v konzole.
    CrossPageChannel: Nedá sa pripojiť, nie je nastavený objekt rovnocenného okna.
    Ukázalo sa, že organizovanie všetkého bolo komplikovanejšie ako jednoduché načítanie stránky do prvku iframe z vašej domény. Stránky medzi sebou komunikujú. Podľa toho sa presunieme smerom k window.postMessage

    Odoslať správu Bolo neľudské nútiť webmastera vložiť do svojej stránky náš skript, ktorý by zabezpečil výber prvkov stránky pomocou myši a následne by nám bola xPath týchto prvkov odoslaná do nadradeného dokumentu prostredníctvom postMessage. Nikto však nebráni nášmu serveru proxy vo vložení akýchkoľvek skriptov do stránky načítanej do prvku iFrame.
    Všetky skripty potrebné na implementáciu uložíme do súboru a vložíme ich pred záverečné telo:
    final int positionToInsert = responseText.indexOf("");
    na testovanie vložíme upozornenie - všetko funguje JS časť - pod myšou zvýrazníme element house a dostaneme xpath Dobre, prejdime na skutočný JS, ktorý sme vložili na stránku webmastera.
    Musíme zvýrazniť dom prvky, nad ktorými človek pohybuje myšou. Je lepšie to urobiť pomocou tieňa, pretože potom sa prvok nepohne a celá stránka bude skákať. Zavesíme onmouseover na telo a pozrieme sa na cieľ akcie. V tom istom obslužnom programe vypočítam xpath prvku. Je lepšie vypočítať xPath prvku na kliknutie, ale ani v tejto implementácii som nezaznamenal žiadne spomalenie.
    elmFrame.contentWindow.document.body.onmouseover= function(ev)( ev.target.style.boxShadow = "0px 0px 5px červená"; curXpath = getXPathFromElement(ev.target); )
    Neposkytujem tu implementáciu získania xPath prvku DOM. Existuje veľa úryvkov, ako to urobiť. Tieto úryvky môžu byť upravené tak, aby vyhovovali vašim potrebám, napríklad potrebujete iba značky v xpath. Alebo potrebujete ID, ak existujú, a triedy, ak neexistujú žiadne ID - každý má svoje vlastné požiadavky.

    Tu je príklad proxy domovskej stránke Habr s vloženým skriptom:
    http://highlighter.indexisto.com/?md5=6ec7rdHxUfRkrFy55jrJQA==&url=http%3A%2F%2Fhabrahabr.ru&expires=1390468360

    Časť JS – spracovanie kliknutia Kliknutie osoby na stránku v rámci iframe okamžite „zhasne“ (odkaz v iframe nebude nasledovaný). Reťazec prijatej cesty xPath tiež odošleme do nadradeného okna (uložili sme ho vo fáze presunu myšou nad prvok)
    document.body.onclick = function(ev)( window.parent.postMessage(curXpath, "*"); ev.preventDefault(); ev.stopPropagation(); ) Zisk! To je všetko, teraz v našom správcovskom paneli môže webmaster rýchlo získať cesty xpath k prvkom na svojich stránkach oveľa jednoduchšie.

    Pridajme ešte nejaké zabezpečenie Dobre, všetko nám fungovalo, no je tu problém s tým, že náš proxy vyzerá na svet úplne nechránený. Ktokoľvek môže zastupovať čokoľvek.

    Dáme nginx pred proxy, počúva port 80 a samotný proxy odstránime na iný port. Zatvoríme všetky ostatné porty okrem 80 od vonkajší svet.

    Teraz nechajte proxy fungovať iba cez admin panel. V momente, keď webmaster zadá URL svojej stránky, rýchlo bežíme na server, kde vygenerujeme md5 hash z aktuálnej TimeStamp + 1 hodina, samotnú URL a super-tajné keď:
    final String md5Me = timeStampExpires + urlEncoded + "SUPERSECRET";
    final MessageDigest md = MessageDigest.getInstance("MD5");
    md.reset();
    md.update(md5Me.getBytes("UTF-8"));

    Kód reťazca = Base64.encodeBase64String(md.digest());
    kód = code.replaceAll("/", "_");

    kód = code.replaceAll("\\+","-");

    Všimnite si tiež, že v kóde dostaneme reťazec md5 nie ako zvyčajný hex, ale v kódovaní base64, plus vo výslednom md5 robíme zvláštne nahradenia lomky a plusových znakov podčiarkovníkmi a pomlčkami.

    Faktom je, že ngnix používa base64 Filename Safe Alphabet tools.ietf.org/html/rfc3548#page-6

    A Java dáva kanonický base64.

    Po prijatí odpovede zo servera so zabezpečeným md5 v našom správcovskom paneli sa pokúsime načítať nasledujúcu adresu URL do prvku iframe:

    highlighter.indexisto.com/?md5=Dr4u2Yeb3NrBQLgyDAFrHg==&url=http%3A%2F%2Fhabrahabr.ru&expires=1389791582

    Teraz nakonfigurujeme modul nginx HttpSecureLinkModule. Tento modul skontroluje md5 všetkých parametrov, ktoré k nemu prišli (v module je zaregistrovaný rovnaký tajný kľúč ako v admin servlete), skontroluje, či bol odkaz analyzovaný a iba v tomto prípade prepošle požiadavku na náš proxy servlet .

    Teraz nikto nemôže použiť náš proxy mimo administračného panela a tiež nemôže nikde vložiť požadovaný obrázok na náš server - aj tak za hodinu zomrie.

    To je všetko, vážení, Google zašiel so svojím značkovacím nástrojom oveľa ďalej, aby ste mohli jasne identifikovať prvok na stránke, musíte označiť ten istý prvok (napríklad názov článku) na niekoľkých stránkach rovnakého typu. že môžete presnejšie zostaviť xpath a zahodiť rôzne ID, ako napríklad „post-2334“, ktoré samozrejme budú fungovať len na jednej stránke V našom administračnom paneli je zatiaľ potrebné xpath opraviť manuálne, aby sa dosiahol prijateľný výsledok.

    Prvok

    Rámy

    V starých zlých časoch webdizajnu existovalo veľa prvkov, ktoré ničili život každého vývojára. Takmer vždy išlo o zlý dizajnový prístup. Našťastie bol prvok v HTML5 zastaraný. Ale alebo "inline rám" je stále k dispozícii. Bude v ďalšej verzii zastaraná? Možno by sme sa tomu mali vyhnúť? Existuje niekoľko platných použití tohto prvku pri vytváraní stránky HTML. Ale musíte pochopiť, čo to je a ako to funguje, aby ste sa vyhli chybám.

    Podobnosti a rozdiely a

    Oba tieto prvky umožňujú vytvoriť samostatný dokument HTML. Odkaz na obsah dokumentu, na ktorý odkazuje aktuálna webová stránka, je špecifikovaný v atribúte src.

    . . . . . .

    Hlavný rozdiel medzi a je v tom, že presadzuje pravidlo, že HTML dokument má prednosť. Obsah sa zobrazuje vo vnútri prvku, ktorý je súčasťou aktuálneho dokumentu. Ako príklad si predstavte toto vložené video prevzaté zo služby YouTube:

    Video je jasne na stránke HTML a nie na samostatnom paneli. prvok porušil túto paradigmu a umožnil dokumentu vykonávať kontrolu nad oknom prehliadača, pričom ho rozdelil na niekoľko malých panelov (rámcov), z ktorých každý zobrazuje samostatný dokument. Všetky ostatné rozdiely medzi a vyplývajú z tohto základného rozdielu.

    Neprerábajte rozloženia založené na rámoch pomocou prvkov iframe

    Jedného dňa možno budete čeliť úlohe aktualizovať starú webovú stránku, ktorá bola vytvorená pomocou rámcov. Možno budete chcieť použiť rozloženie s pevnou šírkou, aby ste znovu vytvorili rovnakú nočnú moru nezávislých panelov a parapetov. Ale nebudete môcť použiť atribút target na otvorenie odkazu v samostatnom rámci. Môžete začať hľadať riešenia JavaScript. Prosím, nerobte to.

    Dobré (a hrozné) využitie

    Existuje niekoľko platných prípadov použitia vytváranie HTML stránky:

    • vkladanie mediálneho obsahu tretích strán;
    • vkladanie vlastného mediálneho obsahu prostredníctvom multiplatformového dokumentu;
    • príklady vloženého kódu;
    • vkladanie „apletov“ tretích strán ako spôsobov platby.

    Tu je niekoľko hrozných prípadov použitia:

    • Fotogaléria;
    • fórum alebo chat.

    Ak potrebujete vložiť nezávislé, už existujúce HTML dokumenty do aktuálneho dokumentu, použite . Ak všetko vytvárate od začiatku, nie je dôvod rozdeľovať návrh stránky do viacerých samostatných dokumentov. Najmä ak v skutočnosti nejde o nezávislé časti obsahu.

    atribúty iframe
    Názov atribútu Význam Popis
    pieskovisko Povoliť rovnaký pôvod
    Povoliť hornú navigáciu
    Povolené formuláre
    Povoliť skripty
    Nastavuje množstvo obmedzení pre obsah načítaný do rámca. Nastavte pred vytvorením stránky HTML.
    rolovanie áno nie auto Určuje, či sa v ráme zobrazia rolky alebo nie. Zastarané v HTML5. Namiesto toho použite CSS.
    Meno Meno Určuje názov rámca.
    Zarovnať vľavo vpravo hore
    stredné dno
    Určuje zarovnanie rámu vzhľadom na okolité prvky. Je zastaraný. Namiesto toho použite CSS.
    rámová hranica áno (alebo 1)
    č
    Používa sa na povolenie zobrazenia okraja okolo rámu. Zastarané v HTML5. Namiesto toho použite CSS.
    longdesc URL Používa sa na určenie adresy URL stránky, ktorá obsahuje dlhý popis obsahu rámca. Je zastaraný. Namiesto toho použite CSS.
    šírka okraja pixelov Používa sa na ovládanie šírky výplne od obsahu po okraj rámu. Je zastaraný. Namiesto toho použite CSS.
    src URL Určuje adresu URL dokumentu, ktorá sa má zobraziť v prvku IFRAME.
    vspace pixelov Nastaví zvislé okraje od rámu k okolitému obsahu. Je zastaraný. Namiesto toho použite CSS.
    šírka pixely % Definuje šírku rámca na stránke HTML.

    Táto publikácia je prekladom článku „“, ktorý pripravil priateľský projektový tím

    © 2024 ermake.ru -- O oprave PC - Informačný portál