namai - Maršrutizatoriaus nustatymas
Rėmo įdėjimas. Rėmelių kūrimas

Rėmų panaudojimo sritys

HTML dokumentų kūrėjai turi gana platų informacijos pateikimo puslapiuose formų pasirinkimą. Tekstinę ir grafinę informaciją galima rūšiuoti ir tvarkyti naudojant sąrašus, lenteles arba tiesiog naudojant lygiavimo parametrus, nustatant horizontalias linijas ir skirstant į pastraipas. Kartais šių funkcijų nepakanka ir tuomet tenka padalyti naršyklės langą į atskiras sritis arba rėmelius. Daugelyje HTML kalbos aprašymų rusų kalba vietoj termino rėmeliai vartojamas terminas rėmeliai. Abiejų terminų vartojimo dažnis yra maždaug toks pat.

Rėmelio struktūros pasirinkimas informacijai rodyti WWW yra pagrįstas šiais atvejais:

  • prireikus valdyti dokumentų įkėlimą į vieną iš naršyklės peržiūros lango posričių, dirbant kitame posrityje;
  • tam tikroje peržiūros lango vietoje rasti informaciją, kuri visada turi būti ekrane, neatsižvelgiant į kitų ekrano posričių turinį;
  • pateikti informaciją, kuri patogiai išdėstyta keliose gretimose lango dalyse, kurių kiekvieną galima peržiūrėti atskirai.

Pateiktas sąrašas neapima visų galimų atvejų, kai gali būti taikomi rėmeliai, tačiau yra rekomendacinio pobūdžio.

Pirmiausia apsvarstykime tipiškus rėmelių panaudojimo būdus naudodami realių HTML dokumentų pavyzdžius, o tada pereikime prie dokumentų, kuriuose yra rėmelių, kūrimo taisyklių.

Fig. 5.1 paveiksle pavaizduotas vienas iš „Finmarket“ agentūros, kurios specializacija yra Rusijos finansų ir akcijų rinkų informacijos teikimas, HTML puslapių.

Ryžiai. 5.1. Tipiškas žiniatinklio dokumentas su rėmelio struktūra

Šis puslapis padalija naršyklės langą į tris rėmelius. Apatinė lango dalis užima 20% viso lango aukščio ir yra nuolatinė informacija, kuri šiuo atveju yra grafinis meniu, leidžiantis bet kada pasiekti svarbiausias dalis. Šis rėmelis negali keisti savo dydžio pagal vartotojo komandas ir neturi slinkties juostų. Viršutinė lango dalis (kuri yra 80% aukščio) horizontaliai padalinta į du rėmus. Kairiajame rėmelyje yra dokumentų, kuriuos gali peržiūrėti vartotojas, turinys. Dešinysis rėmelis, kuris užima didžiąją dalį peržiūros lango, skirtas patiems dokumentams rodyti. Iš pradžių įkeliant, šie du rėmeliai padalija naršyklės langą horizontaliai santykiu nuo 15% iki 85%. Šį santykį vartotojas gali keisti žiūrėdamas, o tai leidžia pasirinkti optimalius rėmelių dydžius, atsižvelgiant į įkeltų dokumentų turinį. Kiekvienas iš šių rėmelių turi savo slinkties juostą, leidžiančią peržiūrėti visą rėmelio turinį, neatsižvelgiant į paties rėmelio dydį, visą naršyklės langą ar naudojamus šriftus. Kai kairiajame rėmelyje pasirinksite bet kurią nuorodą, atitinkamas dokumentas bus įkeltas į dešinįjį rėmelį. Ši struktūra leidžia ekrane vienu metu matyti ir dokumentų turinį, ir pasirinkto dokumento turinį.

Čia be paaiškinimo yra HTML kodo, naudojamo kuriant tokios struktūros dokumentą, fragmentas:

Šiame pavyzdyje parodytas tipiškiausias rėmelių struktūrų panaudojimas, kai vienas rėmelis naudojamas kaip dokumentų turinys, o kitas naudojamas jų turiniui įkelti. Tokios problemos sprendimas nenaudojant rėmelių dažniausiai atliekamas taip. Viename iš puslapių yra turinys, sudarytas iš nuorodų į kitus dokumentus arba atskirus jų fragmentus. Paspaudus tokią nuorodą turinys dingsta, o į jo vietą įkeliamas reikalingas dokumentas, kurį perskaičius dažniausiai reikia grįžti į turinį. Naudojant rėmelius, šis grąžinimas tampa nereikalingas, nes turinys visada yra ekrano dalyje.

Jį galite rasti internete populiaraus Sankt Peterburgo adresų ir telefonų žinyno „Visas Peterburgas“ elektroninio leidimo svetainė.

Elektroninę katalogo versiją rasite adresu http://www.allpetersburg.ru ir leidžia rasti reikiamą informaciją pagal vartotojų užklausas. Šis dokumento puslapis taip pat turi rėmelio struktūrą ir susideda iš dviejų kadrų, kurių pirmasis yra 100 pikselių pločio, o antrasis užima visą likusį peržiūros srities plotį. Kairėje pusėje esantis rėmelis naudojamas grafiniam meniu, kuris nuolat yra ekrane, taip pat yra „Nevalink“ įmonės logotipas. Antrame rėmelyje yra dokumentas, kuris šiuo atveju yra vartotojo užklausos forma. Šio puslapio struktūrą apibrėžia šis HTML kodas:

Rėmeliai labai panašūs į lenteles – jie abu suskaido naršyklės langą į stačiakampes sritis, kuriose yra tam tikra informacija. Tačiau rėmelių pagalba galite išspręsti ne tik dokumentų puslapių formatavimo problemą, bet ir organizuoti jų tarpusavio sąveiką. Esminis skirtumas tarp rėmelių ir lentelių yra tas, kad kiekvienas rėmelis turi turėti savo atskirą HTML dokumentą, tačiau visų lentelės langelių turinys visada yra to paties dokumento dalis. Be to, kadre rodomas puslapis gali slinkti, kai žiūrima nepriklausomai nuo kitų. Kiekvienas rėmelis iš esmės yra atskira „mini naršyklė“. Skirtingai nuo rėmelių, kurių visa struktūra visada pateikiama ekrane, lentelės gali visiškai netilpti į langą ir gali būti peržiūrimos tik dalimis. Iš to išplaukia, kad jei HTML lentelėse bendras langelių skaičius yra praktiškai neribotas ir gali siekti kelis šimtus, tai kadrų skaičius dokumente dažniausiai neviršija kelių vienetų.

Patarimas

Jei reikia tik formatuoti dokumentą, pakanka apsiriboti lentelių naudojimu. Jei reikia išspręsti sudėtingesnes problemas, pavyzdžiui, organizuoti sąveiką tarp langų posritių arba sukurti nuolatines ekrane esančias sritis, patogu naudoti rėmelius.

Galiausiai dokumento struktūros – lentelės ar rėmelio – pasirinkimas priklauso nuo daugelio veiksnių ir negali būti vienareikšmiškai iš anksto nustatytas.

Taip pat yrapuslapiai, kurie atrodo sukurti panašiai kaip ankstesni. Pavyzdžiui, galite paimti puslapis iš labai populiaraus visame pasaulyje programinės įrangos produktų, skirtų darbui su internetu, kolekcijos. Serverio adresas http://www.tucows.com. Atminkite, kad serverio pavadinimą lėmė santrumpa, kilusi iš viso kolekcijos pavadinimo santrumpos – The Ultimate Collection of Winsock Software. Kadangi santrumpa tucows sutampa su fraze dvi karvės (dvi karvės), serverio puslapiuose dažnai pateikiami karvių vaizdai, o programinės įrangos produktų įvertinimas apskaičiuojamas pagal mūšių skaičių („Moo“) ir pavaizduotas grafiškai. kaip atitinkamo skaičiaus karvių eilė. Dauguma serverio puslapių yra sukurti taip pat – kairėje lango pusėje yra galimų skyrių sąrašas, o dešinėje – programinės įrangos produktų, skirtų pasirinktai sekcijai, sąrašas. Iš pirmo žvilgsnio dokumento struktūra turėtų atrodyti maždaug taip pat, kaip ir ankstesniuose pavyzdžiuose. Tačiau šiame dokumente rėmeliai nenaudojami! Šis puslapis sukurtas naudojant lentelę, kurią sudaro tik viena eilutė su dviem langeliais. Lentelėje nėra rėmelių ir ji naudojama tik puslapio formatavimui. Įspūdis, kad ekranas vertikaliai padalytas į dvi dalis, sukuriamas naudojant fono grafiką, kuriame yra vertikali linija, o ne lentelės tinklelis. Tai galite patikrinti peržiūrėdami puslapį neįkeldami vaizdų. Matyt, čia naudojama lentelė dėl didesnio dokumentų prieinamumo, nes rėmeliai neleidžia rodyti visose naršyklėse.

Šio metodo trūkumas šiuo atveju yra būtinybė pakartoti visą skyrių sąrašą (kairėje puslapio pusėje) kiekviename dokumente, o tai šiek tiek padidina failo dydį.

Aukščiau pateiktų pavyzdžių palyginimas rodo, kad lentelių ir rėmelių naudojimas kartais gali būti keičiamas ir nulemtas kūrėjų pageidavimų. Atkreipkite dėmesį, kad dažnai žiūrint į puslapį, kuriame rodomas dokumentas, neįmanoma nustatyti, kaip jis sukurtas. Galutiniam vartotojui nereikia žinoti vidinės dokumento struktūros, tačiau kuriant savo internetinius puslapius labai praverstų susipažinti su esamų dokumentų šaltinio kodu. Pirmajame pavyzdyje (žr. 5.1 pav.) iš karto matoma dokumento rėmelio struktūra – dviejų vertikalių slinkties juostų buvimas jau nulemia atskirų kadrų buvimą. Toliau pateikti du pavyzdžiai yra labai panašūs savo išvaizda ir neįmanoma nustatyti, kad pirmasis iš jų pastatytas naudojant rėmus, o antrasis - naudojant lenteles. Skirtumai atsiras tik dirbant su jais. Telefonų katalogo pavyzdyje slenkant dokumentą kairioji lango dalis išliks vietoje, o tai įmanoma tik esant rėmelio struktūrai. Toliau pateiktame pavyzdyje (programinės įrangos produktų rinkinys) slinkimas perkelia visą lango turinį.

Dokumento struktūrą galite peržiūrėti dirbdami su Netscape naršykle naudodami meniu Rodinys elementą Puslapio informacija (Netscape naršyklės 3.x versijose šis meniu punktas vadinosi Document Info) (5.2 pav.).

Ryžiai. 5. 2 . „Netscape“ naršyklės peržiūros meniu

Be to, visada galite peržiūrėti viso dokumento HTML šaltinio kodą naudodami meniu Rodinys elementą Puslapio šaltinis (arba dešiniojo pelės klavišo kontekstinio meniu elementą View Frame Source, norėdami peržiūrėti įkelto dokumento HTML kodą pasirinktas kadras).

Patarimas

Neturėtumėte be reikalo piktnaudžiauti rėmelių naudojimu, o jų skaičius neturėtų viršyti trijų ar keturių.

Dažnai tikruose interneto puslapiuose galite pamatyti šiuos rėmelių naudojimo atvejus:du gretimi rėmeliai naudojami dokumentams, kuriuos patogu peržiūrėti vienu metu ir palyginti, įkelti. Kiekviename iš dviejų į rėmelius įkeltų dokumentų informacijai pateikti naudojama lentelės forma. Dėl tokio duomenų organizavimo kiekvieną iš dviejų lentelių galima peržiūrėti (arba atspausdinti) atskirai arba palyginti su kita.

Visi šioje dalyje pateikti pavyzdžiai yra paimti iš populiarių WWW serverių puslapių ir, galbūt, gali būti naudojami kaip rėmelių naudojimo HTML dokumentuose pavyzdžiai.

Tolesniuose šio skyriaus skyriuose aprašomos dokumentų su rėmeliais rašymo taisyklės.

Rėmelių aprašymo taisyklės

Dabar pereikime prie žymių, naudojamų dokumentams su rėmelio struktūromis, rašymo taisyklėmis.

Pirmiausia pažvelkime į visą HTML kodą, kuris sukuria dokumentą su vidutinio sudėtingumo rėmeliais:

</p> <p>

Šiuo pavyzdžiu sukuriamas įrėmintas puslapis, parodytas paveikslėlyje. 5.3. Kaip matote, šis HTML kodas apibrėžia keturis kadrus. Viršutinis rėmelis apima visą puslapio plotį ir yra antraštė. Toliau yra du centriniai rėmeliai, vienas iš kurių yra kairėje pusėje ir užima 25 procentus ekrano pločio, o antrasis – likusią erdvę. Paskutinis, ketvirtas kadras užima apatinį ekrano ketvirtį. Į kiekvieną kadrą įkeliamas atskiras HTML dokumentas, kurio pavadinimą lemia SRC parametras.

Kaip matyti iš pavyzdžio, žymės naudojamos kadrų struktūrai apibūdinti , Ir . Pažvelkime į šių žymų paskirtį.</p> <span> <br><img src='https://i1.wp.com/webnav.ru/books/html4/frames/07.gif' width="100%" loading=lazy loading=lazy></span> <p><i><b>Ryžiai. 5. <span>3 . </b>„Netscape“ naršyklės rezultatas, rodantis HTML dokumentą su rėmeliais, parodytais pavyzdyje</span> </i></p> <p><b>Žyma <FRAMESET> </b></p> <p>Rėmeliai apibrėžiami struktūroje, vadinamoje FRAMESET, kuri naudojama puslapiams, kuriuose yra rėmelių, o ne įprasto dokumento skyriuje BODY. Tinklalapių, sudarytų iš rėmelių, HTML kode negali būti BODY skyriaus. Savo ruožtu puslapiuose su BODY skyriumi negalima naudoti rėmelių.</p> <p><i><b>Patarimas</b> </i></p> <p><i> <span>Kadangi įrėmintuose puslapiuose nėra BODY skilties, nėra galimybės nustatyti viso puslapio fono paveikslėlio ir fono spalvos. Prisiminkite, kad šiuos nustatymus lemia BACKGROUND ir BGCOLOR parametrai, įrašyti BODY žymoje. Tačiau tai netrukdo į kiekvieną kadrą įkelti dokumentų su savo fono nustatymais.</span> </i></p> <p>Etikečių konteineris <FRAMESET>Ir</FRAMESET>įrėmina kiekvieną kadro apibrėžimo bloką. Talpyklos viduje <FRAMESET>gali būti tik žymos <FRAME>ir įdėtos žymos <FRAMESET>. </p> <p>Žyma <FRAMESET>turi du parametrus: ROWS (eilutes) ir COLS (stulpelius) ir rašoma taip:</p> <p><FRAMESET ROWS="список_ значений" COLS="список_ значений">. </p> <p><i><b>Pastaba</b> </i></p> <p><i> <span>Kai kurios naršyklės leidžia naudoti papildomus žymų parametrus <FRAMESET></span> </i></p> <p>Galite apibrėžti reikšmes ROWS arba COLS arba abiejų. Būtina apibrėžti bent dvi reikšmes bent vienam iš šių parametrų. Jei kitas parametras yra praleistas, jo reikšmė laikoma 100%.</p> <p><i><b>Patarimas</b> </i></p> <p><i> <span>Jei etiketėje <FRAMESET>Jei ROWS ir COLS nustatyta tik viena reikšmė, ši žyma bus laikoma netinkama ir naršyklė jos nepaisys. Kitaip tariant, neįmanoma nustatyti <FRAMESET>, susidedantis tik iš vieno rėmelio.</span> </i></p> <p>Žymos ROWS ir COLS parametrų verčių sąrašas <FRAMESET>yra kableliais atskirtas reikšmių, kurias galima nurodyti pikseliais, procentais arba santykiniais vienetais, sąrašas. Eilučių ar stulpelių skaičius nustatomas pagal reikšmių skaičių atitinkamame sąraše. Pavyzdžiui, įrašyti</p> <p><FRAMESET ROWS="100,240,140"> </p> <p>apibrėžia trijų kadrų rinkinį. Šios reikšmės yra absoliučios pikselių reikšmės. Kitaip tariant, pirmasis kadras (pirmoji eilutė) yra 100 pikselių aukščio, antrasis - 240, o paskutinis - 140 pikselių.</p> <p>Nustatyti kadro dydžio reikšmes pikseliais nėra labai patogu. Čia neatsižvelgiama į tai, kad naršyklės veikia skirtingose ​​operacinėse sistemose ir su skirtinga ekrano skiriamąja geba. Tuo pačiu metu kai kuriais atvejais galima nustatyti absoliutaus dydžio reikšmes, pavyzdžiui, norint parodyti nedidelį vaizdą su žinomais matmenimis. Geriausias pasirinkimas būtų nustatyti reikšmes procentais arba santykiniais vienetais, pavyzdžiui:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Šiame pavyzdyje sukuriami trys kadrai, išdėstyti kaip eilutės per visą ekrano plotį. Viršutinė eilutė užims 25 procentus galimo ekrano aukščio, vidurinė – 50 procentų, o apatinė – 25 procentus. Jei nurodytų procentų suma nėra lygi 100%, tada reikšmės bus proporcingai padidintos taip, kad rezultatas būtų tiksliai 100%.</p> <p>Reikšmės santykiniais vienetais yra šios:</p> <p><FRAMESET COLS="*,2*,3*">. </p> <p>Žvaigždutė (*) naudojama proporcingai padalyti erdvę. Kiekviena žvaigždė reiškia vieną visumos dalį. Sudėjus visas skaičių reikšmes šalia žvaigždučių (jei skaičius praleistas, tada laikomas vienas), gauname trupmenos vardiklį. Šiame pavyzdyje pirmasis stulpelis užims 1/6 viso lango pločio, antrasis stulpelis – 2/6 (arba 1/3), o paskutinis – 3/6 (arba 1/ 2).</p> <p>Atminkite, kad skaitinė reikšmė be jokių simbolių nurodo absoliutų eilutės arba stulpelio pikselių skaičių. Reikšmė su procentiniu ženklu (%) nurodo viso peržiūros srities pločio (COLS) arba aukščio (eilių) proporciją, o reikšmė su žvaigždute (*) nurodo proporcingą likusios erdvės pasiskirstymą.</p> <p>Štai pavyzdys, kuriame naudojamos visos trys reikšmės nustatymo parinktys:</p> <p><FRAMESET COLS="100,25%,*,2*">. </p> <p>Šiame pavyzdyje pirmasis stulpelis bus 100 pikselių pločio. Antrasis stulpelis užims 25 procentus viso peržiūros srities pločio, trečiasis stulpelis – 1/3 likusios vietos, galiausiai paskutinis stulpelis – 2/3. Pirmiausia rekomenduojama priskirti absoliučias reikšmes eilės tvarka iš kairės į dešinę. Po jų nurodomi procentai nuo bendros erdvės dydžio. Galiausiai įrašomos reikšmės, kurios nustato proporcingą likusios erdvės padalijimą.</p> <p><i><b>Patarimas</b> </i></p> <p><i> <span>Jei naudojate absoliučias COLS arba ROWS reikšmes, laikykite jas mažas, kad tilptų bet kuriame naršyklės lange, ir užpildykite jas bent viena procentine arba santykine reikšme, kad užpildytumėte likusią erdvę.</span> </i></p> <p>Jei naudojama žyma <FRAMESET>, kuriame nurodytos ir COLS, ir ROWS reikšmės, bus sukurtas kadrų tinklelis. Pavyzdžiui:</p> <p><FRAMESET ROWS="*,2*,*" COLS="2*,*"> </p> <p>Ši HTML kodo eilutė sukuria trijų eilučių ir dviejų stulpelių rėmelių tinklelį. Pirmoji ir paskutinė eilutės užima po 1/4 aukščio, o vidurinė – pusę. Pirmasis stulpelis užima 2/3 pločio, o antrasis - 1/3.</p> <p>Konteineris <FRAMESET> </FRAMESET> gali būti įdėtas į kitą panašų konteinerį, kaip parodyta pradiniame pavyzdyje. Toliau apsvarstykime žymos naudojimą <FRAME>. </p> <p><i><b>Pastaba</b> </i></p> <p><i> <span>Kai kurie HTML kalbos šaltiniai nurodo, kad žymos parametrai COLS ir ROWS <FRAMESET>yra vienas kitą paneigiantys. Tačiau „Netscape“ ir „Microsoft Internet Explorer“ leidžia juos naudoti kartu.</span> </i></p> <p><b>Žyma <FRAME> </b></p> <p>Žyma <FRAME>apibrėžia vieną kadrą. Jis turi būti žymų poroje <FRAMESET>Ir</FRAMESET>. Pavyzdžiui:</p> <p><FRAMESET ROWS="*,2*"> </p> <p><FRAME> </p> <p><FRAME> </p> <p></FRAMESET> </p> <p>Atkreipkite dėmesį, kad žyma <FRAME>nėra konteineris ir skirtingai <FRAMESET>neturi pabaigos žymos. Visas vieno kadro apibrėžimas atliekamas naudojant vieną HTML kodo eilutę.</p> <p>Yra tiek daug žymų, kurias reikia įrašyti <FRAME>kiek atskirų kadrų apibrėžiama nurodant žymą <FRAMESET>. Ankstesniame pavyzdyje žyma <FRAMESET>buvo duotos dvi eilutės, todėl reikėjo parašyti dvi žymas <FRAME>. Tačiau šis pavyzdys iš esmės nenaudingas, nes nė vienas rėmelis neturi jokio turinio!</p> <p>Žyma <FRAME>turi šešis parametrus: SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING ir NORESIZE.</p> <p><i><b>Pastaba</b> </i></p> <p><i> <span>Kai kurios naršyklės leidžia naudoti daugybę papildomų žymų parametrų <FRAME>. Skyriaus pabaigoje pateikiama „Netscape“ ir „Microsoft Internet Explorer“ naršyklių galimybių apžvalga.</span> </i></p> <p>Štai žymos įrašas: <FRAME>su visais parametrais:</p> <p><FRAME SRC="url" NAME="window_name" SCROLLING=YES|NO|AUTO </p> <p>MARGINWIDTH="reikšmė" MARGINHEIGHT="reikšmė" NORESIZE></p> <p>Praktiškai etiketėje <FRAME>Retai visi parametrai naudojami vienu metu.</p> <p>Svarbiausias parametras yra SRC (šaltinio trumpinys). Gana dažnai etiketėje <FRAME>nurodytas vienas SRC parametras. Pavyzdžiui:</p> <p><FRAME SRC="url">. </p> <p>SRC parametro reikšmė nustato dokumento, kuris iš pradžių bus įkeltas į šį rėmelį, URL. Paprastai šis adresas yra HTML failo, esančio tame pačiame kataloge kaip pagrindinis dokumentas, pavadinimas. Tada rėmelio apibrėžimo eilutė atrodys, pavyzdžiui, taip:</p> <p><FRAME SRC="sample.htm">. </p> <p>Atminkite, kad bet kuris rėmelio apibrėžime nurodytas HTML failas turi būti pilnas HTML dokumentas, o ne fragmentas. Tai reiškia, kad dokumente turi būti HTML, HEAD, BODY ir kt.</p> <p>Žinoma, SRC reikšmė gali būti bet koks galiojantis URL. Jei, pavyzdžiui, rėmelis naudojamas GIF paveikslėliui, esančiam šios knygos leidėjo serveryje, rodyti, tuomet turėtumėte parašyti:</p> <p><FRAME SRC="http://www.bhv.ru/example.gif">. </p> <p><i><b>Patarimas</b> </i></p> <p><i> <span>Neįtraukite jokio turinio į dokumentą, aprašantį rėmelio struktūrą.</span> </i></p> <p>Paprastas tekstas, antraštės, grafika ir kiti elementai negali būti tiesiogiai naudojami dokumente, kuriame aprašoma rėmelio struktūra. Visas kadrų turinys turi būti apibrėžtas atskiruose HTML failuose, kurių pavadinimus nurodo žymos SRC parametras <FRAME>. </p> <p>Parametras NAME nurodo rėmelio pavadinimą, kurį galima naudoti norint nurodyti šį rėmelį. Paprastai nuoroda nustatoma iš kito kadro, esančio tame pačiame puslapyje. Pavyzdžiui:</p> <p><FRAME SRC="sample.htm" NAME="Frame_1">. </p> <p>Šis įrašas sukuria rėmelį pavadinimu „Frame_1“, į kurį galima kreiptis. Pavyzdžiui:</p> <p>Spustelėkite čia norėdami atsisiųsti</p> <p>dokumentą other.htm į rėmelį pavadinimu Frame_1.</p> <p>Atkreipkite dėmesį į parametrą TARGET, kuris nurodo rėmelio pavadinimą. Jei rėmeliui nesuteikiamas pavadinimas, bus sukurtas bevardis kadras ir nebus galima jo nurodyti iš kito kadro. Rėmelių pavadinimai turi prasidėti raidiniais ir skaitiniais simboliais.</p> <p>Parametrai MARGINWIDTH ir MARGINHEIGHT leidžia nustatyti rėmelio paraščių plotį. Tai parašyta taip:</p> <p>MARGINWIDTH="vertė",</p> <p>kur „vertė“ yra absoliuti reikšmė pikseliais. Pavyzdžiui:</p> <p>Šio rėmelio paraštės viršuje ir apačioje yra 5 pikseliai, o kairėje ir dešinėje – 7 pikseliai. Atminkite, kad čia kalbame apie maržas, o ne apie sienas. Parametrai MARGINWIDTH ir MARGINHEIGHT apibrėžia kadro erdvę, kurioje nebus informacijos. Mažiausia priimtina šių parametrų vertė yra viena.</p> <p>Rėmeliai automatiškai sukurs ir parodys slinkties juostas, jei rėmelio turinys visiškai netelpa į skirtą vietą. Kartais tai pažeidžia puslapio dizainą, todėl būtų patogu valdyti slinkties juostų rodymą. Šiems tikslams naudojamas parametras SCROLLING. Įrašymo formatas:</p> <p><FRAME SCROLLING="YES|NO|AUTO">. </p> <p>Parametras SCROLLING gali turėti tris reikšmes: YES, NO arba AUTO. AUTO reikšmė turi tokį patį poveikį, tarsi nebūtų SCROLLING parametro. Vertė TAIP rodo slinkties juostas, neatsižvelgiant į tai, ar jos reikalingos, o NE neleidžia joms pasirodyti. Pavyzdžiui:</p> <p><FRAME SCROLLING=YES>. </p> <p>Paprastai vartotojas gali keisti rėmelių dydį žiūrėdamas puslapį. Jei uždėsite pelės žymeklį ant rėmelio rėmelio, žymeklis įgaus formą, rodančią galimybę keisti dydį ir leis perkelti rėmelį į norimą vietą. Tai kartais pažeidžia gražiai suprojektuotų rėmų struktūrą. Kad vartotojas nekeistų kadrų dydžio, naudokite parametrą NORESIZE:</p> <p><FRAME NORESIZE>. </p> <p>Šiam parametrui nereikia jokių verčių. Natūralu, kad vienam iš kadrų nustačius parametrą NORESIZE, negalima keisti ir nė vieno gretimo kadro dydžio. Kartais, priklausomai nuo kadrų išdėstymo, pakaks viename iš kadrų naudoti parametrą NORESIZE, kad ekrane nebūtų pakeistas jų dydis.</p> <p><b>Žyma <NOFRAMES> </b></p> <p>Galimybė dirbti su rėmeliais nebuvo numatyta nei HTML 3.0, nei HTML 3.2 standartuose. Čia dar visai neseniai buvo gana tipiška situacija, kai realiai naudojamos funkcijos yra aktyviai naudojamos daugelyje WWW puslapių, tačiau nėra standarto dalis. Tai reiškė, kad naršyklės galėjo teisėtai nepaisyti rėmelių. Atsiradus HTML 4.0 standartui, situacija pasikeitė – dabar rėmų struktūrų palaikymas yra įtvirtintas standarte. Atminkite, kad dauguma šiuolaikinių naršyklių atpažino rėmelius dar prieš HTML 4.O atsiradimą. Tačiau būtina pateikti informaciją vartotojams, naudojantiems naršykles, kurios nepalaiko rėmelių. Tokiose naršyklėse galima pateikti alternatyvią informaciją, kuri rašoma tarp žymų poros <NOFRAMES>Ir. Tai atrodo taip:

</p> <p>visą HTML dokumentą</p> <p>

Viskas dedama tarp etikečių Ir, bus rodomas naršyklėse, kurios neturi rėmelių palaikymo galimybių. Kadrą suvokiančios naršyklės nepaisys visos informacijos tarp šių žymų.

Atminkite, kad realiame gyvenime HTML puslapių kūrėjai dažnai nenaudoja žymos galimybių sukurti puslapius be rėmelių struktūrų, o tiesiog sukurti dvi jų HTML dokumentų versijas. Pasirinkus šią parinktį, pradžios puslapis paprastai siūlo įkelti dokumentą su rėmelio struktūra arba be jo. Tada, priklausomai nuo vartotojo pasirinkimo, įkeliama tik viena dokumento versija.</p> <p><b><span>Karkasinių konstrukcijų aprašymo ypatybės</span> </b></p> <p>Viena iš svarbiausių žymų, naudojamų aprašant rėmo struktūras, yra žyma <FRAME>. Žyma turi daugybę parametrų, kurių nė vienas nėra būtinas arba nepriklauso nuo kitų, tačiau juos rašant reikia atsižvelgti į daugybę dalykų.</p> <p>Pasirodo, jei reikia sukurti rėmelį, į kurį vėliau būtų galima įkelti dokumentą, pavyzdžiui, komanda iš kito rėmelio, reikėtų naudoti žymą <FRAME>parašyti SRC parametrą. Jei tai</p> <p>parametras praleistas, kadras nebus kuriamas, nors vietos jam bus palikta. Pavyzdžiui, toks įrašas kaip <FRAME NAME="B">yra gana logiška ir gali apibrėžti rėmelį pavadinimu „B“, į kurį iš pradžių neįkeliamas joks dokumentas. Tačiau nesant SRC parametro, rėmelio tokiu pavadinimu nebus, todėl tolesni bandymai į jį įkelti bet kokį dokumentą bus nesėkmingi, o šiam rėmeliui skirta vieta lange bus tuščia. Be to, kai kurios naršyklės (pavyzdžiui, Microsoft Internet Explorer 3 versija, skirta Windows Z.xx) parodys klaidos pranešimą ir išeis bandant įkelti dokumentą į tokį rėmelį.</p> <p>SRC parametro nustatymo reikalavimas negali būti paaiškintas logiškai, todėl geriausia į šį faktą tiesiog atkreipti dėmesį. Tada, net jei nėra dokumento, kurį reikia įkelti į šį rėmelį nuo pat pradžių, SRC parametre turėtumėte nurodyti failo pavadinimą. Pavyzdžiui, toks failas gali būti vadinamas tuščiu.htm (tuščiu), kurio turinys bus minimalus įmanomas teisingas HTML dokumentas, būtent:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><BODY> </p> <p></BODY> </p> <p></HTML> </p> <p>Galite sumažinti šį dokumentą iki dviejų žymų: <HTMLX/HTML>, kuris taip pat bus galiojantis HTML dokumentas. Eidami maksimaliai sumažindami „tuščio“ dokumento dydį, galite apsiriboti failu, kurio dydis lygus vienam baitui, kuriame saugomas tarpo simbolis (arba bet koks kitas nerodomas simbolis). Šis failas nebus galiojantis HTML dokumentas, bet nesukels problemų daugelyje naršyklių. Tolimesnis tokio failo dydžio sumažinimas iki nulio nėra pagrįstas, nes jį įkeliant Netscape naršyklei bus rodomas įspėjamasis pranešimas (5.4 pav.), kad dokumente nėra duomenų.</p> <span> <img src='https://i0.wp.com/webnav.ru/books/html4/frames/08.gif' height="119" width="332" loading=lazy loading=lazy></span> <p><i><b>Ryžiai. 5. <span>4 . </b>Įspėjamasis pranešimas įkeliant nulinio ilgio failą</span> </i></p> <p>Tokiu atveju turite atsakyti į šį pranešimą paspausdami klavišą <Enter>arba pelės mygtuką. Kiekvieną kartą, kai dokumentas įkeliamas iš naujo arba pakeičiamas naršyklės lango dydis, pranešimas vėl pasirodys.</p> <p>Galima nurodyti ir neegzistuojančio failo pavadinimą, tačiau tokiu atveju Netscape naršyklė parodys įspėjamąjį pranešimą (5.5 pav.), kuris netrukdys tolesniam darbui, tačiau sukels panašių nepatogumų.</p> <span> <img src='https://i2.wp.com/webnav.ru/books/html4/frames/09.gif' height="139" width="314" loading=lazy loading=lazy></span> <p><i><b>Ryžiai. 5. <span>5 . </b>Įspėjamasis pranešimas bandant atsisiųsti neegzistuojantį failą</span> </i></p> <p><i><b>Patarimas</b> </i></p> <p><i> <span>Sukurkite failą tuščias.htm, kurio dydis yra vienas baitas ir kuriame yra tarpo simbolis. Padarykite tai taisykle rašydami žymą <FRAME>visada nurodykite SRC=empty.htm, jei neįmanoma iš karto nurodyti konkretaus failo pavadinimo.</span> </i></p> <p>Rėmelių pavyzdžiai</p> <p>Šiame skyriuje pateikiami keli tipiški rėmelių apibrėžimų pavyzdžiai.</p> <p>Grįžkime prie šio skyriaus pradžioje pateikto pavyzdžio (5.3 pav.). Šiame pavyzdyje naudojama įdėta struktūra <FRAMESET>. Išorinė žyma <FRAMESET>sukuria tris aukščio eilutes, atitinkamai 25, 50 ir 25 procentus viso peržiūros srities aukščio:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Šioje apibrėžimo srityje pirmoji ir paskutinė eilutės yra paprasti rėmeliai:</p> <p><FRAME SRC="header.htm"> <FRAME SRC="footer.htm"> </p> <p>Kiekviena iš šių linijų užpildo visą ekrano plotį. Pirmoji eilutė ekrano viršuje užima 25 procentus aukščio, o trečia eilutė apačioje taip pat – 25 procentus aukščio. Tačiau tarp jų yra įdėta žyma <FRAMESET>: </p> <p><FRAMESET COLS="25%,75%"> </p> <p><FRAME SRC="list.htm"> </p> <p><FRAME SRC="info.htm"> </p> <p></FRAMESET> </p> <p>Ši žyma apibrėžia du stulpelius, į kuriuos padalijama vidurinė ekrano eilutė. Eilutė, kurioje yra šie du stulpeliai, užima 50 procentų ekrano aukščio, kaip apibrėžta išorinėje žymoje <FRAMESET>. Kairysis stulpelis naudoja 25 procentus ekrano pločio, o dešinysis stulpelis užima likusius 75 procentus pločio.</p> <p>Šių stulpelių rėmeliai yra apibrėžti įdėtoje žymų poroje <FRAMESET>Ir</FRAMESET>, o pirmosios ir paskutinės eilučių kadrų apibrėžimas parašytas už šios poros ribų, bet išorinėje <FRAMESET>atitinkama tvarka.</p> <p>Įrašo struktūrą lengva suprasti, jei manote, kad tai yra įdėtas blokas <FRAMESET>kaip atskiras elementas <FRAME>. Mūsų pavyzdyje išorinė žyma <FRAMESET>apibrėžia tris eilutes. Kiekvienas iš jų turi būti užpildytas. Tokiu atveju jie pirmiausia užpildomi atskiru elementu <FRAME>, tada – kaip įdėtas blokas <FRAMESET>dviejų stulpelių pločio ir kitą elementą <FRAME>. </p> <p>Dabar gali kilti klausimas, ar SRC žymos parametro reikšmė gali būti <FRAME>nustatykite failo pavadinimą, kuriame, savo ruožtu, yra rėmelio struktūros aprašymas. Taip, tai priimtina. Šiuo atveju žyma <FRAME>bus naudojamas nurodyti HTML dokumentą, kuris yra rėmelio struktūra ir naudojamas kaip atskiras rėmelis.</p> <p>Grįžkime prie pavyzdžio ir pakeiskime įdėtą <FRAMESET>į atskirą <FRAME>. Žinoma, jums reikės dviejų HTML failų, o ne vieno, nes įdėtas <FRAMESET>dabar bus atskirame dokumente. Štai pirmojo (išorinio) failo turinys:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><FRAMESET ROWS="25%,50%,25%"> </p> <p><FRAME SRC="header.htm"> </p> <p><FRAME SRC="frameset.htm"> </p> <p><FRAME SRC="footer.htm"> </p> <p></FRAMESET> </p> <p><NOFRAMES> </p> <p>Jūsų naršyklė negali rodyti rėmelių</p> <p>

Antrajame faile, pavadintame frameset.htm, yra šis kodas:

Šiuo atveju viršutinė ir apatinė eilutės elgiasi taip pat. Tačiau antroji eilutė dabar yra paprastas rėmelis, kaip ir kiti. Tačiau SRC parametro nurodytas failas frameset.htm apibrėžia savo rėmo struktūrą. Dėl to ekranas bus rodomas lygiai taip pat, kaip ir pirminiame pavyzdyje.

Pastaba

Iš esmės galima sukurti įdėtas struktūras , naudojant žymes , kurie nurodo tą patį failą, aprašantį rėmelio struktūrą, tačiau to daryti nereikėtų. Tokia situacija sukels begalinį pasikartojimą ir neleis toliau dirbti. Kai kurios naršyklės kontroliuoja šią situaciją ir apsaugo nuo gedimo galimybės. Jei į SRC įrašytas adresas sutampa su vienu iš ankstesnių adresų kadrų hierarchijoje, jis ignoruojamas, tarsi SRC parametro iš viso nebūtų.

Patarimas

Įdėtųjų struktūrų naudojimas įvairiais deriniais galima sukurti beveik bet kokį įsivaizduojamą rėmo tinklelį. Tačiau nepamirškite sukurti patogios sąsajos, o ne tik pademonstruoti savo gebėjimą dirbti su rėmeliais.

Štai įprasto stačiakampio rėmelių tinklelio kūrimo pavyzdys:

Šiame pavyzdyje sukuriamas rėmelio tinklelis su dviem eilėmis ir trimis stulpeliais (5.6 pav.). Kadangi yra apibrėžtas šešių kadrų rinkinys, taip pat būtina apibrėžti šešis atskirus kadrus . Atkreipkite dėmesį, kad kadrų apibrėžimai pateikiami eilutė po eilutės. Tai yra, pirmoji žyma apibrėžia pirmojo stulpelio turinį pirmoje eilutėje, antrasis apibrėžia antrojo stulpelio turinį, o trečiasis baigia apibrėžti paskutinio pirmosios eilutės stulpelio duomenis. Paskutiniai trys kadrai užpildo antrosios eilutės stulpelius.


Ryžiai. 5. 6 . 2 x 3 rėmelių tinklelis

Taip pat atkreipkite dėmesį, kad COLS parametro procentinių reikšmių suma yra ne 100, o tik 90 procentų. Čia nėra nieko blogo, nes naršyklė automatiškai proporcingai pakeis stulpelių plotį, kad pašalintų šį prieštaravimą.

Navigacijos ypatybės naudojant rėmelius

Darbas su dokumentais, turinčiais rėmo struktūrą, turi tam tikrų funkcijų, kurias reikia žinoti. Šios JB savybės daugiausia pasireiškia navigacijoje įkeliant dokumentus. Dideli navigacijos skirtumai būdingi ne tik skirtingoms naršyklėms, bet ir skirtingoms tos pačios naršyklės versijoms.

„Netscape“ naršyklės 3.x ir 4.x versijos, kai spustelėsite mygtuką Atgal, grąžina dokumentą į paskutinį veiksmą. Tie patys veiksmai bus atliekami, jei iškviečiant kontekstinį meniu bet kuriame kadre pasirinktas elementas Atgal. Priminsime, kad kontekstinis meniu iškviečiamas paspaudus dešinįjį pelės mygtuką. Taigi, nepaisant to, kuriame kadre buvo iškviestas kontekstinis meniu, paspaudus mygtuką Atgal, paskutinė operacija bus atšaukta, net jei ji buvo atlikta kitame kadre.

Netscape 2.x naršyklė veikė visiškai kitaip. Kontekstiniame meniu yra komanda Atgal į kadrą, kuri grąžina dokumentą į dabartinį kadrą, o ne anuliuoja paskutinę operaciją.

Bet kurioje „Netscape“ versijoje galite pažymėti dokumentą, esantį pasirinktame rėmelyje. Norėdami tai padaryti, aukščiau minėtame kontekstiniame meniu turite pasirinkti režimą Pridėti žymę. Jei pagrindiniame naršyklės meniu pasirinksite režimą Pridėti žymę, dokumente bus sukurta žyma su rėmelio struktūros aprašymu. , kuris tiksliai nenurodys konkretaus kadro. Galimybė sukurti žymą atskiro rėmelio dokumente nereiškia, kad ir toliau naudojant šią žymę atsiras ta pati rėmelio struktūra. Žyme nurodytas dokumentas bus įkeltas į visą langą už rėmelio struktūros ribų.

Sąveika tarp kadrų

Paprasčiausias informacijos peržiūros būdas WWW susideda iš puslapių skaitymo ir nuorodų sekimo, kai dabartinis dokumentas naršyklės lange pakeičiamas kitu dokumentu. Dirbdami su rėmeliais galite organizuoti patogesnę dokumentų įkėlimo schemą.

Sąveika tarp kadrų – tai galimybė įkelti dokumentus į pasirinktą kadrą naudojant komandas iš kito kadro. Šiuo tikslu naudojamas TARGET žymos parametras<А>. Šis parametras nurodo rėmelio arba naršyklės lango, į kurį bus įkeliamas šia nuoroda nurodytas dokumentas, pavadinimą. Pagal numatytuosius nustatymus, jei parametro TARGET nėra, dokumentas įkeliamas į dabartinį rėmelį (arba langą). Šios numatytosios nuostatos gali būti nepaisomos nurodant žymą su norima parametro TARGET reikšme. Nurodykite numatytojo rėmelio pavadinimą, į kurį norite įkelti, yra labai naudinga, kai daug nuorodų turi nukreipti dokumentus į konkretų rėmelį. Tipiška situacija, kai viename kadre yra turinys, nuorodos, iš kurių į gretimą rėmelį įkeliami atitinkami dokumentai, buvo parodyta šio skyriaus pradžioje (5.1 pav.). Šiam pavyzdžiui skyriuje failą pavadinimu LIST.htm, patartina parašyti šią eilutę: . Priešingu atveju kiekvienai nuorodai turėsite nurodyti TARGET parametrą.

Rėmelių pavadinimai turi prasidėti lotyniška raide arba skaičiumi. Pavadinimas gali būti esamo lango ar rėmelio pavadinimas arba gali būti nurodytas naujas pavadinimas, pagal kurį bus atidarytas naujas langas. Yra keturi rezervuoti pavadinimai, kurie nurodę atlieka specialius veiksmus. Šie pavadinimai prasideda pabraukimu (_): „_blank“, „_self“, „_parent“ ir „_top“. Bet koks kitas pavadinimas, prasidedantis apatiniu brūkšniu, negalioja.

TARGET="_blank" - užtikrina, kad dokumentas būtų įkeltas į naują langą. Šis langas neturės pavadinimo, todėl į jį nebus galima įkelti kito dokumento.

TARGET="_self" - dokumentas bus įkeltas į esamą rėmelį (arba langą). Šis įrašas turėtų būti naudojamas norint apeiti numatytąjį, nurodytą žymoje .

TARGET="_top" - sukelia dokumento įkėlimą į visą langą. Jei dokumentas jau yra visame lange, ši reikšmė turi tokį patį poveikį kaip"_savarankiškai".

TARGET="_parent" – dokumentas įkeliamas į sritį, kurią užima dabartinio kadro pirminis kadras. Jei pirminio rėmelio nėra, ši parametro reikšmė turi tokį patį poveikį kaip"_top" .

Pastaba

Kai kurie HTML šaltiniai klaidingai teigia, kad jei rėmelis neturi pirminio elemento, reikšmė „_parent“ atitinka „_self“. Šis teiginys ne visada teisingas.

Įspėjimas

Rezervuotų rėmelių pavadinimai „_blank“, „_self“, „_parent“ ir „_top“ turi būti rašomi mažosiomis lotyniškomis raidėmis. Atminkite, kad toks reiklumas būdingas tik „Netscape“. „Microsoft Internet Explorer“ bet kuriuo atveju teisingai atpažįsta rezervuotus pavadinimus.

Čia pateikiami rėmelių ir atskirų naršyklės langų sąveikos pavyzdžiai. Apsvarstykite šį HTML kodą:

Rėmelių naudojimas

Šiame HTML dokumente aprašoma struktūra, susidedanti iš trijų kadrų, pavadintų „A“, „B“ ir „C“. Kadrų pavadinimų vėliau reikės norint organizuoti ryšius tarp kadrų. Atminkite, kad šiame pavyzdyje nebus jokių nuorodų į rėmelį pavadinimu „A“, todėl jis galėjo likti be pavadinimo. Kai įkeliate aukščiau pateiktą dokumentą į naršyklę, rėmeliuose bus rodoma informacija, esanti failuose, identifikuotuose SRC parametru. Kadras "A" gaus frame_a.htm failo turinį, o likusieji du kadrai gaus duomenis iš tuščio.htm failo, kuriame nėra duomenų, kuriuos būtų galima rodyti. Dar kartą priminsime, kad HTML dokumentas, aprašantis rėmelių struktūrą, neturi skyrelio .

Čia yra failo, pavadinto frame_a.htm, tekstas:

A kadro dokumentas

D

4. Dokumento įkėlimas naujame lange

5. Dokumento įkėlimas per visą langą

6. Dokumento įkėlimas į esamą kadrą

Šis dokumentas yra pilnas HTML dokumentas su skyriais Ir ir, savo ruožtu, turi nuorodas į failą test.htm, esantį tame pačiame kataloge kaip ir failas frame_a.htm.

Test.htm failo tekstas yra labai paprastas:

Bandomasis dokumentas

Bandomasis dokumento tekstas

Failas frame_a.htm, kurio turinys buvo įkeltas į kadrą "A", turi šešias nuorodas į tą patį failą test.htm su skirtingomis parametro TARGET reikšmėmis.

Apsvarstykite veiksmus, kurie bus atlikti diegiant šias nuorodas. Pirmoji nuoroda su reikšme TARGET="B" įkels failą test.htm į rėmelį, pavadintą "in". Atminkite, kad įdiegus bet kurią iš šešių nuorodų, „Netscape“ naršyklė automatiškai nuspalvins visas šešias skirtingas spalvas, nes jos nukreipia į tą patį failą. „Microsoft Internet Explorer“ pažymi tik tas nuorodas, kurios iš tikrųjų yra įdiegtos.

Antroji nuoroda padarys tą patį su „C“ rėmeliu. Iš pradžių „B“ ir „C“ rėmeliuose nieko nėra (tiksliau, įkeliamas tuščio failo tuščias.htm turinys). Pirmosios ir antrosios nuorodų įgyvendinimas užpildys šiuos rėmus.

Trečioji nuoroda su reikšme TARGET=MD" sukurs naują naršyklės langą pavadinimu "D" ir į jį įkels failą test.htm. Atkreipkite dėmesį, kad šios nuorodos rašymo forma niekuo nesiskiria nuo pirmosios du Skirtumas tas, kad pirmajame Dviem atvejais buvo pateikiamos nuorodos į esamus rėmus, kurių pavadinimai buvo apibrėžti faile su rėmelio struktūra, o šiuo atveju nuoroda buvo pateikta į neegzistuojantį objektą. ši nuoroda daroma bent vieną kartą, tada bus sukurtas langas pavadinimu „D“ ir pakartotinai spustelėjus nuorodą, duomenys bus tik perkraunami į dabar esantį langą „D“ Žinoma, vartotojas gali jį uždaryti bet kuriuo metu laiko ir sukurkite jį iš naujo pasirinkę šią nuorodą.5.7 paveiksle parodyta situacija įdiegus pirmąsias tris nuorodas Prisiminkite, kad langų vietą ir dydžius ekrane nustato vartotojas.

Ryžiai. 5. 7 . Situacija, gauta nuosekliai įdiegus pirmąsias tris kairiajame kadre esančias nuorodas

Penktoji nuoroda su reikšme TARGET="_top" įkels dokumentą visame lange, o ne visoje rėmelio struktūroje. Naudojant šią parametro TARGET reikšmę naujas langas nesukuriamas. Grįžti į rėmo struktūrą galima paspaudus mygtuką Atgal.

Pastaba

Rėmelių ar naršyklės langų pavadinimų nereikėtų painioti su atsisiųstų dokumentų pavadinimais. Žiūrint rėmelių pavadinimai niekur nesimato, jie reikalingi tik sąveikai organizuoti, todėl yra paslėpti nuo vartotojo. Juos galite matyti tik peržiūrėdami HTML failų šaltinio tekstą.

Patarimas

Primename, kad atsisiųstų dokumentų pavadinimus nurodo žyma . Jei dokumentas įkeliamas per visą langą, jo pavadinimas rodomas pačiame naršyklės lango viršuje. Jei dokumentas įkeliamas į rėmelį, jo pavadinimas niekur nerodomas, o dokumento pavadinimas, kuriame aprašoma dokumento rėmo struktūra, vis tiek bus viršutinėje lango dalyje. Todėl dokumentų, skirtų peržiūrėti rėmeliuose, pavadinimai nėra labai svarbūs. Pavyzdžiui, pav. 5.7 tas pats dokumentas įkeliamas į „B“ ir „C“ rėmelius, taip pat į atskirą langą pavadinimu „D“, o dokumento pavadinimas matomas tik lange „D“. Tačiau vargu ar rekomenduojama praleisti į rėmelius įkeltų dokumentų pavadinimus, nes jie gali atsirasti, pavyzdžiui, Žymių sąraše kuriant žymę dokumentui, esančiam rėmelyje arba žiūrimų dokumentų sąraše.</span> </i></p> <p>Pažvelkime į kitą įdomų rėmelių ir naršyklės langų sąveikos organizavimo pavyzdį. Tebūnie pagrindinio įkelto HTML dokumento tekstas:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>Langų pavadinimų naudojimas

Dokumentas su rėmelio struktūra į naują langą

Rėmelių naudojimas

Atkreipkite dėmesį, kad jei pagrindinis dokumentas yra standartinis HTML dokumentas, tai iš pagrindinio dokumento nuorodos įkeltame faile frame.htm yra rėmelio struktūra ir nuorodos į tuščią.htm failą.

Įkėlus pagrindinį dokumentą, naršyklės langas atrodys taip, kaip parodyta pav. 5.8 (kairysis langas). Visas dokumentas susideda iš dviejų nuorodų. Sekime pirmąją nuorodą. Bus sukurtas naujas langas pavadinimu “D”, kuriame atsiras test.htm failo tekstas (5.8 pav., dešinysis langas). Pakartojant šią nuorodą, duomenys bus įkelti tik lange „D“.


Ryžiai. 5.8. Sąveikaujančių rėminių langų pavyzdys

Sekime antrąją nuorodą. Bus suformuotas naujas langas be pavadinimo, į kurį bus įkeltas frame.htm failas, apibrėžiantis du rėmelius pavadinimais “C” ir “D” (5.8 pav., apatinis langas). Abiejuose rėmeliuose nieko nėra (tiksliau įkeliamas tuščias dokumentas empty.htm). Atkreipkite dėmesį, kad dabar yra atidarytas langas pavadinimu „D“ ir langas su rėmeliais, kurių vienas taip pat pavadintas „D“. Dar kartą sekime pirmąją nuorodą. Skirtingai nei pirmuoju atveju, duomenys bus įkeliami ne į langą „D“, o į rėmelį, pavadintą „D“. Visų aprašytų veiksmų rezultatas parodytas fig. 5.8.

Pastaba

Atsidarančių langų išvaizda ir jų turinys kartais gali priklausyti net nuo vartotojo veiksmų eilės. Darbas su dokumentais, kurių elgesį sunku nuspėti, dažniausiai sukelia pateisinamą vartotojo susierzinimą ir rodo, kad kūrėjai nepakankamai apgalvojo duomenų struktūrą.

Jei pakeisite veiksmų tvarką, t. y. pirmiausia vykdysite antrą nuorodą, o po to pirmą, langas pavadinimu „D“ iš viso nepasirodys! Taip atsitiks, nes įdiegus antrąją nuorodą bus sukurtas rėmelis pavadinimu „D“ ir nereikės atidaryti naujo lango pirmai nuorodai.

Šis pavyzdys visai nėra sektinas pavyzdys, o tik parodo galimą sąveikos organizavimo sudėtingumą. Priešingai, reikėtų stengtis be reikalo neapsunkinti duomenų organizavimo, juo labiau nesukurti situacijų, kai rezultatas keičiasi priklausomai nuo vartotojo veiksmų eiliškumo.

Patarimas

Venkite susidūrimų rėmelių ir langų pavadinimuose. Nors formaliai nėra uždrausta turėti rėmelių su tais pačiais pavadinimais, tai gali sukelti painiavą.

Įspėjimas

Rėmelių ir langų pavadinimai lyginami naudojant didžiąsias ir mažąsias raides. Taigi, pavyzdžiui, rėmeliai, pavadinti „frame_1“ ir „Frame_1“, skirsis.

Sudėtingesnės sąveikos tarp kadrų pavyzdžiai

Gana paprasti tipiniai kadrų sąveikos pavyzdžiai buvo aptarti aukščiau. Svarstytos užduotys sukurti naujus langus, pakeisti atskirų rėmelių turinį, taip pat rodyti dokumentą pilname lange su visos rėmo struktūros sunaikinimu. Pateikiami pasirinktinių rėmelių pavadinimų, taip pat rezervuotų pavadinimų „_blank“, „_self“ ir „_top“ naudojimo pavyzdžiai. Paskutinio rezervuoto pavadinimo „_parent“ naudojimas yra sudėtingesnis ir bus aprašytas toliau.

Šiame skyriuje bus nagrinėjamos sudėtingesnės sąveikos tarp kadrų parinktys. Visų pirma bus pakeistas kelių gretimų kadrų turinys.

Vienas iš dažniausių rėmelių panaudojimo būdų, apie kurį jau buvo minėta šiame skyriuje, yra dviejų rėmelių atvejis, iš kurių viename yra nuorodų sąrašas, o kitame – patys dokumentai (5.1 pav.).

Pabandykime išplėsti problemos formuluotę. Tarkime, kad norite ekrane parodyti gana didelio dokumento, susidedančio iš skyrių, suskirstytų į skyrius, turinį. Tipiškas pavyzdys yra techninė literatūra tam tikra tema. Apibūdinkime norimą tokio dokumento pateikimą ekrane. Padalinkime ekraną į tris rėmelius, iš kurių viename bus knygos skyrių sąrašas, antrame – pasirinkto skyriaus skyrių sąrašas, trečiame – pasirinkto skyriaus tekstas. Kai pasirenkate nuorodą antrame kadre, trečiojo kadro turinys turėtų pasikeisti. Šio reikalavimo įgyvendinimas yra trivialus. Kai pasirenkate nuorodą pirmame kadre, antrojo ir trečiojo kadrų turinys turėtų keistis vienu metu. Iš pirmo žvilgsnio šios užduoties įgyvendinimas HTML yra neįmanomas (nenaudojant programavimo JavaScript ar kt.), nes vykdant nuorodą įkeliamas tik vienas dokumentas, o ne du ar daugiau. Nepaisant to, šios problemos sprendimas yra visiškai įmanomas.

Leiskite mums parodyti galimą tokios problemos sprendimą naudodami paprastą pavyzdį. Tarkime, kad norite ekrane parodyti tris rėmelius ir į juos įkelti keletą dokumentų. Iškelkime užduotį kiekviename iš šių kadrų sukurti nuorodas, kurias įgyvendinus, pavyzdžiui, buvo pakeistas dviejų kadrų turinys. Tegul pirmasis rėmas užima 50% lango pločio ir 100% aukščio ir pastatykite jį kairėje lango pusėje. Dešinė lango pusė taip pat padalyta horizontaliai per pusę ir yra dar du rėmeliai. Ši struktūra apibūdinama tokiu kodu:

Naudojant šį HTML kodą bus sukurta reikiama struktūra, tačiau problemos išspręsti neįmanoma. Būtina pašalinti įdėtą struktūrą į atskirą failą ir šiame HTML kode aprašykite rėmelį, nurodantį sukurtą failą. Tada pradinio dokumento tekstas atrodys taip:

Sąveikos tarp kadrų pavyzdys

Sukurtas failas su įdėta struktūra turi pavadinimą 1_2.htm ir jame yra šis kodas:

1-2

Iš pirmo žvilgsnio niekas nepasikeitė. Abiem atvejais yra trys rėmeliai, į kuriuos atitinkamai įkeliami dokumentai left.htm, 1.htm ir 2.htm. Tačiau kai kadrai sąveikauja, skirtumas pasirodys. Jei pirmuoju atveju nė vienas kadras neturi pirminio kadro, tada antruoju atveju dviejų kadrų pirminis rėmelis bus pavadintas „Two_Frames“. Todėl, jei bet kuriame iš dviejų kadrų taikote nuorodą, kurios parametro TARGET reikšmė lygi „_parent“, pirmuoju ir antruoju atveju rezultatas skirsis. Pirmuoju atveju, įdiegus tokią nuorodą, dokumentas bus įkeltas į visą langą, pakeisdamas esamą rėmo struktūrą. Čia pradeda veikti vertės ypatybė „_parent“, kuri veikia kaip „_top“, jei nėra pirminio rėmelio. Antruoju atveju bus pakeistas rėmelis pavadinimu „Two_Frames“, kuris užima dešinę ekrano pusę ir iš esmės susideda iš dviejų kadrų.

Antrasis atvejis formaliai skiriasi nuo pirmojo ir tuo, kad yra rėmelis, pavadintas „Two_Frames“, į kurį galima daryti nuorodas. Būtent ši funkcija leis mums išspręsti problemą.

Štai kairiojo.htm failo, kuris iš pradžių įkeliamas į pirmąjį iš nagrinėjamų kadrų, turinys:

Kairysis rėmelis

dokumentus dviejuose rėmeliuose, esančiuose dešinėje lango pusėje.

Pasirinkite dokumento vietos parinktį:

1 _2.htm" TARGET="Two_Frames">1-2 parinktis

2-1 parinktis

2-1<TITLE> </p> <p></HEAD> </p> <p><FRAMESET ROWS="*,*"> </p> <p><FRAME SRC="2.htm"> </p> <p><FRAME SRC="1.htm"> </p> <p></FRAMESET> </p> <p></HTML> </p> <p>Atminkite, kad failų 1_2.htm ir 2_1.htm tekstai skiriasi tik nuorodų į failus 1.htm ir 2.htm tvarka.</p> <p>Dabar panagrinėkime dokumento, įkelto į kairįjį rėmelį, konstrukciją. Jame yra dvi nuorodos su parametru TARGET="Two_Frames". Įdiegus bet kurią iš šių nuorodų, „Two_Frames“ rėmelio vietoje (tai dešinėje ekrano pusėje) sukuriami du kadrai, viena ar kita tvarka įkeliami dokumentai 1.htm ir 2.htm. Taigi, renkantis 1-2 parinktį, dokumentas 1.htm įkeliamas į viršutinį dešinįjį rėmelį, o 2.htm - į apatinį dešinįjį rėmelį. Pasirinkus 2-1 parinktį, pasikeičia dokumentų tvarka. Dėl to kintantis parinkčių pasirinkimas sukuria įspūdį, kad dokumentai dviejuose kadruose keičiasi vietomis. Būtent tokio efekto ir siekėme pasiekti (5.9 pav.).</p> <p>1.htm ir 2.htm dokumentų turinys aprašytam pavyzdžiui nesvarbus. Tačiau, pavyzdžiui, vietoj trivialių dokumentų kursime dokumentus su nuorodomis, kurios įgyvendina tuos pačius veiksmus.</p> <p>1.htm failo tekstas:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>1 dokumentas

1 dokumentas

1 variantas -2

2-1 variantas

Failas 2.htm skiriasi nuo 1.htm tik antraštėje.

Yra dvi nuorodos su reikšme TARGET="_parent", kurios nukreipia į pirminį rėmelį. Šios nuorodos taip pat gali būti parašytos aiškiu pirminio rėmelio pavadinimu, t. y. TARGET = "Two_Frames", tačiau paprastai yra patogiau naudoti numanomą pavadinimą. Pavyzdžiui, jei išskirsite nuorodas iš kairiojo rėmelio (document left.htm), galite praleisti rėmelio pavadinimą „Two_Frames“, nurodytą aprašydami pagrindinę rėmelio struktūrą. Taip būtų sukurtas rėmelis be pavadinimo, bet nuorodos iš dokumentų 1.htm ir 2.htm su TARGET="_parent" vis tiek veiktų tinkamai.

Patarimas

Jei įmanoma, naudokite numanomus rėmelių pavadinimus. Pavyzdžiui, „parent“, „top“, „self“, o ne nurodyti konkrečius vardus.


Ryžiai. 5.9. Sąveikaujantys rėminiai langai, keičiantys įkeltus dokumentus

Skirtumas tarp rėmelių ir naršyklės langų

Dirbant su rėmeliais, kyla klausimas apie esminį skirtumą tarp naršyklės lango rėmelių struktūros organizavimo ir kelių langų kūrimo. Iš pirmo žvilgsnio gali atrodyti, kad galite susitvarkyti su galimybe kurti kelis langus, nes darbas su langais ir rėmais yra labai panašus. Kiekvienam kadrui reikia įkelti atskirą dokumentą, jis turi galimybę savarankiškai slinkti turinį ir gali būti keičiamas komandomis iš kitų kadrų. Šios rėmelių savybės yra panašios į naršyklės langų savybes. Sutvarkius duomenis lentelėmis, tokios veiksmų laisvės pasiekti neįmanoma.

Tačiau yra didelis skirtumas tarp rėmų ir langų. Organizuojant rėmus, peržiūros srities padalijimą į rėmelius atlieka pats HTML dokumentas, nurodydamas matmenis ir jų vietą. Vartotojas peržiūrėdamas gali keisti rėmelių dydį, nebent tai draudžiama jų sandaros aprašyme. Langų išdėstymas nustatomas pagal bendrąsias darbo su Windows sistema taisykles – vartotojas gali išplėsti bet kurį langą iki viso ekrano, sumažinti jį iki piktogramos arba savavališkai nustatyti jo dydį ir vietą. Langai, skirtingai nei rėmai, gali persidengti. Šis gausus pasirinkimas turi ir neigiamą pusę – kiekvieną kartą reikia rankiniu būdu nustatyti langus ekrane ir keisti jų dydį, kad būtų pasiektas optimalus žiūrėjimo variantas. Rėmų atveju optimalų dydžio santykį dažniausiai nurodo kūrėjas rėmo konstrukcijos aprašyme ir dažnai jo keisti nereikia.

Patarimas

Nors rėmai negali suteikti visų galimybių dirbti su atskirais langais, tačiau racionalus jų organizavimas sukurs maksimalų patogumą vartotojui.

Darbas su langais turi ir kitų trūkumų. Kiekvienam langui sukurti reikia daug atminties. Netscape kiekvienas langas iš esmės yra dar viena naršyklės kopija su visu mygtukų ir meniu rinkiniu. Ta pati situacija būdinga „Microsoft Internet Explorer“.

Atkreipkite dėmesį, kad atskirų langų organizavimas naršyklėse atliekamas skirtingai. Sukūrus naują langą su dokumentu, Windows sistemoje atsiranda atskira užduotis, kaip matote peržiūrėdami vykdomų užduočių sąrašą. Todėl langų perjungimas gali būti atliekamas taip pat, kaip ir skirtingų užduočių perjungimas, pavyzdžiui, paspaudus spartųjį klavišą +.

Daugelis populiarių „Windows“ programų turi dokumento lango koncepciją. Pavyzdžiui, „Microsoft Word“ tekstų rengyklė arba grafikos programa „Paint Shop Pro“ ir daugelis kitų. Kiekviena iš šių programų leidžia vienu metu naudoti kelis langus su duomenimis ir, kaip taisyklė, yra meniu Langas, kuriame pateikiamas langų sąrašas ir suteikiama galimybė juos perjungti. Naujas langas tokiose programose paprastai sukuriamas atidarant esamą failą arba kuriant naują. Tačiau šiose programose, kai sukuriamas naujas langas, nauja vykdoma užduotis nesukuriama.

Netscape taip pat turi langų meniu, kuriame pateikiami esami langai. (Netscape 4.x versijose šią funkciją suteikia Communicator meniu elementas Langas.) Grįžkime prie pav. 5.8. Šiame pavyzdyje vienu metu atidaromi trys langai, kurių kiekvienas iš esmės yra atskira naršyklė. Tačiau vartotojui jie visi yra tos pačios naršyklės langai, galintys sąveikauti vienas su kitu. Bet kuriame iš šių langų galite atidaryti meniu Langas ir pamatyti trijų langų sąrašą. Fig. 5.10 paveiksle parodyta situacija, kai tai daroma apatiniame lange.


Ryžiai. 5.10.„Frame Windows“ atidarymas „Netscape“ naršyklėje

Kiekvieną langą galima uždaryti atskirai (naudojant komandą Close iš meniu Failas). Norėdami baigti darbą su naršykle bet kuriame lange, galite atidaryti meniu Failas ir pasirinkti Exit (5.11 pav.).

Jei buvo atidaryti keli langai, tada visi jie bus uždaryti, bet prieš tai pasirodys įspėjamasis pranešimas (5.12 pav.).

Kiekvienas naršyklės langas gali turėti savo nustatymus (nors ne visi). Pažvelkite į pav. 5.11. Atidaryti du langai, vienas iš kurių padalintas į tris rėmus. Tas pats dokumentas įkeliamas į du iš trijų kadrų, taip pat į atskirą langą. Galimybė savarankiškai konfigūruoti kiekvieno lango parametrus leidžia skirtingai rodyti tą patį dokumentą. Aukščiau pateiktame pavyzdyje dokumento šrifto dydis viename lange yra didesnis nei kitame. Šis efektas pasiekiamas nustatant skirtingą kiekvieno lango kodavimą (meniu Options elementas Document Encoding arba 4.x versijai meniu View elementas Character Set), abiem koduotėms naudojant tą patį šriftą, bet skirtingų dydžių. Bet kurio elemento pakeitimas meniu Bendrosios nuostatos turi įtakos visiems langams.


Ryžiai. 5.11.„Netscape“ naršyklės uždarymas

Ryžiai. 5.12.Įspėjimas apie langų uždarymą Netscape naršyklėje

Papildomos naršyklės funkcijos

Visos aukščiau pateiktos rėmelių aprašymo žymos su atitinkamais parametrais yra įdiegtos beveik identiškai „Netscape“ ir „Microsoft Internet Explorer“ naršyklėse, tačiau kiekviena iš šių naršyklių leidžia papildomai naudoti savo unikalias žymas ar parametrus.

„Netscape“ naršyklės funkcijos

„Netscape“ naršyklė, pradedant nuo 3.0 versijos, suteikia tris papildomas parinktis: BORDER, FRAMEBORDER ir BORDERCOLOR. Parametras BORDER taikomas tik žymai . Parametro BORDER reikšmė nustato kraštinių tarp kadrų storį pikseliais.

FRAMEBORDER parametras gali būti naudojamas ir žymoje , ir žymoje ir nustato rėmelio buvimą tarp kadrų. Šis parametras gali būti Taip arba NE. Jei parametras įrašytas žymoje , tada jo poveikis taikomas visiems šios grupės kadrams. Atskiro kadro vertė gali būti nepaisoma. Numatytoji reikšmė yra Taip.

Atkreipkite dėmesį, kad parametrai BORDER ir FRAMEBORDER veikia vienas nuo kito nepriklausomai. Pavyzdžiui, jei FRAMEBORDER nustatytas į NO, o BORDER – kitokia nei nulis reikšmė, tada riba tarp kadrų nebus nubrėžta, tačiau jai vis tiek bus skirta erdvė, nurodyta parametro BORDER reikšme.

Parametras BORDERCOLOR gali būti naudojamas kaip ir žymoje , ir žymoje ir apibrėžia kraštinės spalvą, kurią galima nurodyti spalvos pavadinimu arba jos šešioliktaine išraiška.

Štai pavyzdys:

Pirmoje šio HTML kodo eilutėje nurodyti trys kadrai, tarp kurių yra tarpas 10 pikselių storio rėmeliui (5.13 pav.).


Ryžiai. 5.13. Kraštinių piešimas tarp rėmelių „Netscape“ naršyklėje

Tarp rėmo langų „A“ ir „B“ rėmelis nenubraižytas dėl parametro FRAMEBORDER reikšmės NO, tačiau rėmeliui nustatoma raudona spalva. Paskutiniam kadrui „c“ FRAMEBORDER reikšmė nustatoma į Taip ir nepaiso pirmoje eilutėje nustatytos vertės. Todėl tarp kadrų, pavadintų „B“ ir „C“, vis tiek bus nupieštas raudonas 10 pikselių storio rėmelis.

Pastaba

Jei ribos tarp kadrų nenubraižytos, Netscape naršyklė neleis keisti rėmelių dydžio velkant juos pele, net ir be parametro NORESIZE. „Microsoft Internet Explorer“ situacija yra kitokia.

Atkreipkite dėmesį, kad rėmeliai be apvadų nėra naudojami labai retai. Reikia atsiminti, kad rėmelių nebuvimas netrukdo atsirasti slinkties juostoms (5.14 pav.).


Ryžiai. 5.14. Slinkties juostos rėmelyje be kraštinių

„Microsoft Internet Explorer“ naršyklės funkcijos

„Microsoft Internet Explorer“ naršyklė leidžia naudoti parametrą FRAMEBORDER tais pačiais tikslais, kaip aprašyta aukščiau, tačiau neleidžia nustatyti rėmelių spalvos ir storio. Tačiau tik skaitinė reikšmė „O“ gali būti naudojama kaip FRAMEBORDER parametro reikšmė, kad būtų atšauktas kadro piešimas, arba nulinė skaitinė reikšmė kadre piešimui.

FRAMEBORDER parametro reikšmių nustatymo skirtingoms naršyklėms taisyklių skirtumas yra labai nemalonus. Pabandykite, pavyzdžiui, nustatyti FRAMEBORDER=Yes. Šis įrašas tinka „Netscape“, tačiau „Microsoft Internet Explorer“ nebus rėmelio. Ankstesnis pavyzdys (5.13 pav.) peržiūrint „Microsoft Internet Explorer“ bus pateiktas be rėmelio.

Patarimas

FRAMEBORDER parametro reikšmę visada rekomenduojama rašyti skaitine forma, pavyzdžiui, FRAMEBORDER=0. Tai atitinka Microsoft Internet Explorer parametro rašymo taisykles, tačiau pažeidžia Netscape taisykles (nors pastaroji tai teisingai suvokia).

Pastaba

Jei rėmeliai tarp kadrų nenubraižyti, tai Microsoft Internet Explorer naršyklė (skirtingai nei Netscape), nesant parametro NORESIZE, leis „paliesti“ keisti rėmelių dydį, velkant rėmelius pele. Vietą, kurioje turėtų būti rėmelis, galite rasti pakeitę pelės žymeklio formą.

„Microsoft Internet Explorer“ naršyklė leidžia naudoti papildomą FRAMESPACING parametrą, įrašytą žymoje , kurio reikšmė nustato taškų skaičių tarp kadrų, kuriuos reikia palikti tuščius.

Pateiksime pavyzdį, kurio rodymo rezultatas parodytas fig. 5.15.

Atstumo tarp kadrų keitimas


Ryžiai. 5.15. Tuščia vieta tarp kadrų „Microsoft Internet Explorer“.

Pastaba

Deja, daugelyje HTML kalbos aprašymų klaidingai nurodoma, kad žymoje turi būti naudojamas parametras FRAMESPACING . „Microsoft Internet Explorer“ leidžia naudoti šį parametrą tik žymoje .

Plaukiojantys rėmeliai

„Microsoft Internet Explorer“ naršyklė leidžia naudoti unikalią žymą . TEGS

„Microsoft Internet Explorer“ yra pirmoji naršyklė (ir kol kas vienintelė), kuri palaiko vadinamuosius „plaukiojančius“ rėmelius.

Šiuos rėmelius galima dėti bet kurioje ekrano vietoje, kaip ir grafiką bei lenteles.

Šio teksto dešinėje esantis rėmelis įdedamas į puslapį naudojant specialią žymą

Dokumento su slankiu rėmeliu pavyzdys:



plaukiojantis rėmas


plaukiojantis rėmas


Šiame puslapyje buvo pristatytas vadinamasis „plaukiojantis rėmelis“.
Atskirame lange jis atidaro kitą html dokumentą rodyti.



… … …




Noframes

Kai kurios naršyklės nepalaiko dokumento rėmelių struktūros arba ją interpretuoja neteisingai; be to, vartotojai savo naršyklės nustatymuose dažnai sąmoningai išjungia HTML dokumento rėmelių struktūros palaikymą. Ir nors tokių naršyklių ir vartotojų procentas yra nedidelis, jie vis tiek egzistuoja.

Dabar įsivaizduokite, kad sukūrėte savo svetainę naudodami rėmelio struktūrą, o kai kurie lankytojai, galbūt nežinodami, kokia yra problema, bando atidaryti jūsų svetainę, o jų naršyklė parodys klaidą! Ką jie pagalvos apie jūsų svetainę? Galvoju kažką panašaus į: „Uh.. kažkokia nesąmonė.. Daugiau čia nevažiuosiu!

Kad vartotojui būtų aišku, kad jo naršyklės/naršyklės nustatymai nepalaiko rėmelių, yra žyma </b> .</p> <p>Žyma <b><noframes> </b> rodo jame esantį tekstą, jei vartotojo naršyklė nepalaiko rėmelių arba jos nustatymuose jie priverstinai išjungti. Jei rėmelius palaiko vartotojo naršyklė, ši žyma tiesiog nepaisoma.</p> <p> <html> <br> <head> <br> <title>rėmeliai</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br><b><noframes>Atsiprašome, bet jūsų naršyklė nepalaiko rėmelių.











Pavyzdžio rezultatas bus pastebimas, jei jūsų naršyklė tikrai nepalaiko rėmelių (čia aš ilgai galvojau.. :) jei taip, tai kam išvis skaityti šį skyrių?) arba išjungėte rėmelių palaikymą naršyklė kaip eksperimentas.

Žyma </b> turi būti žymos viduje <b><frameset> </b></p> <p>Su slankiuoju rėmeliu viskas dar paprasčiau, tereikia tarp jų parašyti norimą tekstą <b><iframe> </iframe> </b> ir šis pranešimas bus rodomas ekrane, jei naršyklė nepalaiko rėmelių.</p> <p> <iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1"><b>Atsiprašome, bet jūsų naršyklė nepalaiko rėmelių.</b></iframe> </p> <ul><p>Prieš pradėdami kurti puslapį naudodami rėmelio struktūrą, išanalizuokite jo išdėstymą, kiekvieno lango dydį, slinkties juostų buvimą ar nebuvimą juose ir tt Po to galėsite kurti papildinius HTML failus, ypač nesijaudindami dėl jų santykio. padėtis vienas kito atžvilgiu.</p><p>Naudokite žymą <b><noframes> </b>. Atminkite, kad jei jūsų naršyklėje svetainė veikia ir rodoma taip, kaip norėjote, kitiems vartotojams viskas gali būti kitaip!</p> </ul> <p>Nepaisant to, kad svetainės su rėmeliais tampa vis retesnės, HTML mokymasis būtų nepilnas, neatsižvelgiant į rėmelių temą. Be to, rėmeliai tam tikra prasme užėmė savo nišą ir naudojami administravimo bei pagalbos sistemoms. Kai rėmų trūkumai nėra ypač svarbūs, o privalumai, atvirkščiai, yra aktyviai paklausūs.</p> <p>Žyma naudojama rėmeliui sukurti <frameset>, kuris pakeičia žymą <body>dokumente ir naudojamas ekranui padalyti į sritis. Šios žymos viduje yra žymos <frame>, kurie nurodo į HTML dokumentą, skirtą įkelti į sritį (13.1 pav.).</p> <p>Ryžiai. 13.1. Naršyklės lango padalijimo į du rėmus pavyzdys</p> <p>Naudojant rėmelius reikia bent trijų HTML failų: pirmasis apibrėžia rėmelių struktūrą ir padalina naršyklės langą į dvi dalis, o likusieji du dokumentai įkeliami į nurodytus langus. Kadrų skaičius nebūtinai yra du, gal daugiau, bet ne mažiau kaip du, antraip kadrų naudojimo prasmė visiškai prarandama.</p> <p>Panagrinėkime rėmelių kūrimo etapus pagal puslapį, parodytą pav. 13.1. Mums reikės trijų failų: index.html – apibrėžia dokumento struktūrą, meniu.html – įkeliamas į kairįjį rėmelį ir content.html – įkeliamas į dešinįjį rėmelį. Iš jų tik index.html savo kodo struktūra skiriasi nuo kitų failų (13.1 pavyzdys).</p> <p>13.1 pavyzdys. index.html failą</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Rėmeliai</title> </head> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </html> </p><p>Jei naudojami rėmeliai, pirmoje kodo eilutėje įrašomas toks dokumento tipas.</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> </p><p>The<!DOCTYPE>praneša naršyklei, kad ji susiduria su rėmeliais, ši kodo eilutė yra būtina. Konteineris <head>yra tipinės informacijos, tokios kaip puslapio kodavimas ir dokumento pavadinimas. Tiesiog atminkite, kad antraštė išlieka tokia pati, kol HTML failai atidaromi rėmeliuose.</p> <p>Šiame pavyzdyje naršyklės langas yra padalintas į du stulpelius naudojant cols atributą, kai kairysis stulpelis užima 100 taškų, o dešinysis stulpelis – likusią vietą, nurodytą žvaigždute. Rėmelių plotį arba aukštį taip pat galima nustatyti procentais, panašiai kaip lentelėse.</p> <p>Žymėje <frame>Į nurodytą sritį įkelto HTML failo pavadinimas nurodomas naudojant atributą src. Failas menu.html bus įkeltas į kairįjį langą (13.2 pavyzdys), o content.html bus įkeltas į dešinįjį langą (13.3 pavyzdys). Kiekvienam rėmeliui patartina suteikti unikalų pavadinimą, kad naudojant atributą name būtų galima įkelti dokumentus į nurodytą langą.</p> <p>13.2 pavyzdys. Failas meniu.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Svetainės navigacija</title> </head> <body style="background: #f0f0f0"> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Šiame pavyzdyje pilkas puslapio fonas nustatomas naudojant stilius, kurie bus aptarti vėliau.</p> <p>13.3 pavyzdys. Failas content.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Svetainės turinys</title> </head> <body> <p>TURINYS</p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Panagrinėkime sudėtingesnį pavyzdį su trimis rėmeliais (13.2 pav.).</p> <p><img src='https://i0.wp.com/htmlbook.ru/files/images/samhtml/fig_1_13_2.png' width="100%" loading=lazy loading=lazy></p> <p>Ryžiai. 13.2. Puslapio padalijimas į tris rėmelius</p> <p>Tokiu atveju žyma vėl naudojama <frameset>, bet du kartus, viena žyma įdėta į kitą. Horizontalus skirstymas sukuriamas naudojant eilučių atributą, kur įvairovei naudojamas procentinis žymėjimas (13.4 pavyzdys).</p> <p>13.4 pavyzdys. Trys kadrai</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Rėmeliai</title> </head> <frameset rows="25%,75%"> <frame src="top.html" name="TOP" scrolling="no" noresize> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </frameset> </html> </p><p>Kaip matyti iš šio pavyzdžio, konteineris <frameset>su atributu rows pirmiausia sukuria du horizontalius rėmelius, bet antrąjį pakeičia kitu <frameset>, kuri pakartoja struktūrą, kurią jau žinote iš 13.1 pavyzdžio. Kad neatsirastų vertikali slinkties juosta ir vartotojas negalėtų savarankiškai keisti viršutinio rėmelio dydžio, buvo pridėti atributai scrolling="no" ir noreize.</p> <p><i> </i> 07.12.2015</p> <p>Dar ne</p> <br><p>Sveiki visi! <br>Mes ir toliau stropiai studijuojame HTML pagrindus. Džiaugiuosi, kad neatsisakei pamokų.</p> <p>Šioje pamokoje apžvelgsime <b>kas yra rėmeliai</b> ir kaip jie kuriami HTML. <br>Taigi, apibrėžkime, kokie rėmeliai yra HTML. <br><b>Rėmeliai</b>– Tai naršyklės lango padalijimas į atskiras sritis, kuriose galima įkelti atskirus HTML dokumentus.</p> <p>Manau, suprantate, kad rėmelių dėka viename naršyklės lange galite peržiūrėti kelis tinklalapius vienu metu.</p> <p>Kaip pavyzdį, norint suprasti, kaip rėmas veikia praktiškai, siūlau pažvelgti į pavyzdį. Padarykite keletą perėjimų ten:</p> <p>Taigi, ką manote? Ar norite išmokti tai sukurti? Dabar mes išmoksime <b>įterpti rėmelius į html dokumentą</b>.</p> <p>Tinklalapio rėmelis sukuriamas naudojant tokį išdėstymą:</p><p> <frameset> <frame> <frame> </frameset> </p><blockquote><p><b>Dėmesio:</b> rėmelio kodo išdėstymas įterpiamas į html dokumentą, o ne žymą <bode><script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> :</p> </blockquote> <html> <head> <title>Rėmeliai</title> </head> <frameset> <frame> <frame> </frameset> </html> <p>○ <b>frameset žyma</b></p> <p>Tai yra pagrindinis konteineris, skirtas sukurti rėmelį, kuriame yra kiti elementai. <br>Uždarymo žyma būtina.</p><p> <frameset></frameset> </p><p><i><b>*Frameset žymos atributai:</b> </i> </p> <ul><li>Cols – vertikalus</li> <li>Eilutės – horizontalios</li> </ul><p><b>eilučių</b>- horizontaliai</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-1.png' height="125" width="181" loading=lazy loading=lazy></p> <p><b>sk</b>- vertikaliai</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-2.png' height="127" width="185" loading=lazy loading=lazy></p> <p>Cols ir rows atributai nurodo, į kiek dalių reikia padalyti naršyklės langą. Pavyzdžiui, norėdami padalinti naršyklės langą į dvi vertikalias dalis, turite parašyti taip:</p><p> <frameset cols="30%,*"> </p><p>Kairė ekrano pusė bus 30%, o dešinė - 70%.</p> <p>Jei norite padalyti naršyklę į dar kelias dalis, pridėkite papildomų matmenų, atskirtų kableliais, pavyzdžiui, taip:</p><p> <frameset cols="30%,20%,10%,40%"> </p><p>Dėl to pirmasis <span>vertikali kolona</span> bus 30% pločio, antrasis - 20%, trečias - 10%, ketvirtas - 40%.</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-3.png' width="100%" loading=lazy loading=lazy></p> <p>Supratau?</p> <p>Tas pats pasakytina apie horizontalų išdėstymą:</p><p> <frameset rows="30%,20%,10%,40%"> </p><p>Pirmasis horizontalus stulpelis bus 30% pločio, antrasis - 20%, trečias - 10%, ketvirtas - 40%.</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-4.png' height="199" width="390" loading=lazy loading=lazy></p> <p>○ <b>rėmelio žyma</b></p> <p>Rėmelio žyma nurodo, kuris HTML dokumentas turi būti įkeltas į naršyklės langą. <br>Pavyzdžiui, viename naršyklės lange turime įkelti tris skirtingus puslapius „1.html“, „2.html“, „3.html“. Rėmelio žyma atrodys taip:</p><p> <frame src="1.html"> <frame src="2.html"> <frame src="3.html"> </p><p>Apibendrinkime žinias apie rėmelius. Taigi, užduotis: turite padalinti naršyklės langą į dvi dalis ir į šias dalis įkelti du tinklalapius - „1.html“ 30%, „2.html“ 70%. <br>Čia yra baigtas kodas:</p><p> <frameset cols="30%,*"> <frame src="1.html"> <frame src="2.html"> </frameset> </p><p>Rezultatas bus toks:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-5.png' width="100%" loading=lazy loading=lazy></p> <p><i><b>* Rėmelio žymos atributai</b> </i> </p> <ul><li>src – tinklalapio adresas. <i>src="1.html"</i> ;</li> <li>marginwidth – paraštė rėmelio viduje išilgai pločio. Pavyzdys: <i>paraštės plotis = "10"</i> ;</li> <li>marginhight – aukščio paraštė rėmo viduje. Pavyzdys: <i>paraštės aukštis="10"</i> ;</li> <li>slinkimas – rėmelio slinkimas per slinktį. <br>– taip – ​​slinktis bus kadre. Pavyzdys: <i>slinkimas = "taip"</i> ;<br>- ne – kadre nebus slinkties. Pavyzdys: <i>slinkimas = "ne"</i> ;<br>- automatinis – jei reikia, kadre bus slinkimas. Pavyzdys: <i>slinkimas = "automatinis"</i> ;</li> <li>noresize – draudžia perkelti rėmelio kraštines.</li> <li>pavadinimas – rėmelio pavadinimas. Nurodo, kuriame lange turi būti atidaryti kiti rėmeliai. Pavyzdys: <i>vardas = "svetainė"</i> ;</li> </ul> <p>Jei atribute „name“ nenurodysite rėmelio pavadinimo, tada spustelėjus nuorodą lange, kuriame buvo nuoroda, atsidarys naujas rėmelis:</p> <p>Štai pavyzdys, jei pridedate atributą „name“:</p> <p>Ar ne geriau? <br>Prie bet kurio rėmelio pridėkite atributą „name“, kur norite atidaryti kitus HTML dokumentus</p><p> <frame src="2.html "name ="сайт"> </p><p>Vardas atribute „name“ gali būti bet koks. Tačiau ateityje, jei suteiksite pavadinimus kitoms „rėmo“ žymoms, atminkite, kad kiekviena iš jų turi būti unikali:</p><p> <frame src="2..html "name ="bloggood-ru"> <frame src="3.html "name ="nocrisise-ru"> </p><p>2 puslapis 3 puslapis</p><p>„Puslapis 1“, „Puslapis 2“ atsidarys viename lange, kuriame nurodėte rėmelio pavadinimą „name =" <span>Interneto svetainė "</span>“ ir „Puslapis 3“ atsidarys kitame rėmelyje, kuriame bus pavadinimas „name =" <span>bloggood-ru</span>»</p> <p><b>PRAKTIKA</b></p> <p>Užduotis: turite sukurti rėmelius naudodami šį išdėstymą:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-6.png' width="100%" loading=lazy loading=lazy></p> <p>Pirmiausia sukurkime tris horizontalius rėmelius:</p><p> <frameset rows="15%,*,15%"> </frameset> </p><p>Dabar pridėkime „top.html“ ir „footer.html“</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frame src="footer.html"> </frameset> </p><p>Rezultatas kol kas bus toks:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-7.png' width="100%" loading=lazy loading=lazy></p> <p>Dabar tarp "top.html" ir "footer.html" pridėsime "menu.html" ir "content.html":</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </p><p>Paruoštas kodas:</p><p> <html> <head> <title>Rėmeliai</title> </head> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </html> </p><p>Išsaugokite failą kaip "index.html"</p> <p>Sukurkite puslapius „top.html“, „footer.html“, „menu.html“ ir „turinys.html“:</p> <p>Failo kodas "top.html"</p><p> <html> <head> <title>svetainės antraštė</title> </head> <body bgcolor="#b2f2ff" text="#0000FF"> <h1>Interneto svetainė</h1> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Failo „footer.html“ kodas</p><p> <html> <head> <title>Failas footer.html</title> </head> <body bgcolor="#b2f2ff" text="#000000">StepkinBlog.com © 2015 m<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Failo kodas "menu.html"</p><p> <html> <head> <title>Failo meniu.html – svetainės meniu</title> </head> <body bgcolor="#b2bbff" text="#112cf5"> <ul> <li>Pagrindinis puslapis</li> <li>apie autorių</li> </ul> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Failo "content.html" kodas:</p><p> <html> <head> <title>Pagrindinis puslapis</title> </head> <body bgcolor="#e3e5f8" text="#FF0055"> <h1>Pagrindinis puslapis</h1>Svetainės turinys – „Pagrindinis puslapis (content.html)“<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Failo "autor.html" kodas:</p><p>Štai tokį rezultatą gavau:</p> <p>Naudokime „frame“ atributus ir išjunkite rankinį rėmelių tempimą bei pašalinkime slinkimą „index.html“ faile.</p><p> <frameset rows="15%,*,15%"> <frame src="top.html" scrolling ="no" noresize> <frameset cols="25%,75%"> <frame src="menu.html"scrolling ="no" noresize> <frame src="content.html" name="main"scrolling ="no" noresize> </frameset> <frame src="footer.html" noresize> </frameset> </p><p><b>○ ką daryti, jei naršyklė nepalaiko rėmelių? <br></b><br>Galite parodyti vartotojui pranešimą, kad jo naršyklė nepalaiko rėmelių. Norėdami tai padaryti, įdėkite žymą <noframes>konstrukcijos viduje <frameset> :</p><p> <frameset rows="15%,*,15%"> <noframes>

○ Plaukiojantis rėmas

Jei „iframe“ langą reikia įterpti tiesiai į puslapį, kuriame nėra rėmelių struktūros, tam yra „iframe“ žyma.

* „iframe“ žymos atributai

  • src - kelias į puslapį, kurį norite atidaryti
  • plotis – plaukiojančio rėmo plotis
  • aukštis – plaukiojančio rėmo aukštis
  • slinkimas – slinkties juosta
    – ne – niekada nerodykite slinkties juostos
    – taip – ​​visada parodyk
    - auto - rodyti, jei reikia
  • align – plaukiojančio rėmo išlygiavimas
    - kairė - kairė
    - dešinėje - dešinėje
    - viršuje - aukščiau
    - apačioje - apačioje
  • frameborder – kraštinė aplink plaukiojantį rėmą
    - 1 - įjunkite rėmą
    - 0 - išjunkite rėmą

Taip atrodys „iframe“ žyma su atributais:

Jei jūsų naršyklė nepalaiko rėmelių, galite įterpti tekstą " Oi! Jūsų naršyklė nepalaiko rėmelių. » tarp žymų .
Tai atrodys taip:

Pavyzdžiui, prie failo „content.html“ pridėkime „iframe“:

Pagrindinis puslapis

Pagrindinis puslapis

Svetainės turinys – „Pagrindinis puslapis (turinys.! Jūsų naršyklė nepalaiko rėmelių.

Ankstesnis įrašas
Kitas įrašas



 


Skaityti:



Geriausių belaidžių ausinių įvertinimas

Geriausių belaidžių ausinių įvertinimas

Ar galima nebrangiai įsigyti universalių ausų? 3000 rublių – ar už tokius pinigus galima nusipirkti kokybiškų ausinių? Kaip paaiškėjo, taip. Ir kalba...

Pagrindinė mobiliojo įrenginio kamera dažniausiai yra korpuso gale ir naudojama fotografuoti bei filmuoti

Pagrindinė mobiliojo įrenginio kamera dažniausiai yra korpuso gale ir naudojama fotografuoti bei filmuoti

Atnaujinta planšetės versija su patobulintomis charakteristikomis ir dideliu autonomiškumu.Acer išmanieji telefonai retai lankomi...

Kaip persijungti į kitą operatorių išsaugant savo numerį

Kaip persijungti į kitą operatorių išsaugant savo numerį

Įstatymas dėl telefono numerio išsaugojimo, kai abonentas pereina prie kito mobiliojo ryšio operatoriaus, Rusijoje įsigaliojo gruodžio 1 d. Tačiau paaiškėjo, kad...

phableto apžvalga, brangi, bet labai kompetentinga

phableto apžvalga, brangi, bet labai kompetentinga

Apžvalga apie phablet, brangus, bet labai kompetentingas 2015-03-20 Esu vienintelis batsiuvys pasaulyje be batų, išmaniųjų telefonų apžvalgininkas be savo išmaniojo telefono....

tiekimo vaizdas RSS