Miksi kehykset poistettiin HTML5: ssä, mutta eivät iFrame-kehyksiä? Loppujen lopuksi näiden kahden välillä ei ole melkein mitään eroa. Monissa tapauksissa jommankumman käyttäminen antaisi saman tuloksen (anteeksi, jos olen väärässä)?

Kommentit

Vastaa

Viestissäsi on pari väärinkäsitystä. Ensinnäkin frame – ja frameset -elementtejä ei poisteta HTML5-muodossa, ne ”re ovat vanhentuneita (eli ne on poistettu kokonaan).

Toiseksi, frame ja

-elementit eivät ole sama asia kuin iframe -elementti, eivätkä ne anna samaa tulosta:

  • frameset -elementti korvaa sivujen runkoelementin keinona sisällyttää verkkosivustoille erilainen asiakirjamalli: ne ovat huonosti käytettävyyden ja käytettävyyden sekä niiden tarkoituksen kannalta on täysin korvattu CSS: llä ja kaikkialla palvelinpuolen kehityksellä.

  • Toisaalta iframe -elementti ei ei korvaa sivun runkoa. Se toimii keinona sisällyttää uusi selausyhteys upotettuna sisältölohkoon. Sillä ei ole samoja käytettävyys- tai esteettömyysongelmia kuin kehysmallilla, ja sitä käytetään melkein missä tahansa, missä on sisällytettävä upotettu selausyhteys (widgetit ovat tuottavin esimerkki). 1

HTML5: n iframe ottaa myös lisäominaisuuksia, koska se voidaan hiekkalaatikkoon , jolloin päädokumentti voi päättää, mitä siinä suoritetaan. Tämä sallii jonkin verran turvallisuutta päädokumentille (ja päädokumentin vierailijoille), kun upotetaan epäluotettavaa sisältöä.


Huomautuksia

Huomautus 1: object -elementti menee jonkin verran päällekkäin iframe -elementin kanssa, mutta sillä on erilainen sisältömalli (joka on tarkoitettu lähinnä laajennuksille), on oma joukko varoituksia, eikä hänellä ole hiekkalaatikkomääritteitä, joilla iframe -elementillä on.

Kommentit

  • Miksi kehysjoukkoelementit ovat huonoja " käytettävyyden " ja " esteettömyyden kannalta " mutta iframe-elementit eivät ole ' t?
  • @meriton Kehyssarja rakentaa sivun useista asiakirjoista, joissa on sama prioriteetti: tämä aiheuttaa haasteita näytönlukijoille , jotka eivät tiedä mihin asiakirjaan tarkennetaan milloin tahansa. kehyselementit puolestaan yksinkertaisesti upotetaan yhdelle sivulle: se ' ei ole eroa kuin upotettu kuva.
  • Näytönlukijoiden haasteet: Sokeat ihmiset, joiden kanssa olen puhunut, ovat kaikki sanoneet, että he haluavat navigoinnin jumittuvan erilliseen kehykseen (ei iFrame-kehykseen), koska he voivat jättää sen huomiotta ja lukea sen vain, kun he haluavat. Näytönlukijoiden todellinen syyllinen on Javascript ja AJAX, joka tekee sivut täysin käyttökelvottomiksi nykyisillä näytönlukuohjelmilla (no, tietoni ovat noin 10 kuukautta vanhoja). Oma kokemukseni näytönlukuohjelmien kanssa tukee tätä.
  • Olen ' ollut miettinyt, onko paljon vuoden 2005 ' s usein kysyttyjä esteettömyysvaatimuksia ei ole päivitetty myöhään '. Kiitos erimielisyydestä.
  • @GlenPeterson sama vaikutus ilman kehyselementtiä voidaan saavuttaa käyttämällä CSS: ää tekemään lohkoelementin kiinteäksi näkymässä. Näin se tulisi tehdä, jos haluat tällaisen navigoinnin. Sillä on järkevämpää.

Vastaus

Kehysjoukkoja käytetään usein tavalla, jossa ne rikkovat Web – että jokaisella asiakirjalla on yksi URL. Tämä johtaa linkittämiseen, kirjanmerkkeihin, hakukoneisiin jne. Liittyviin ongelmiin.

Kehysjoukon tyypillinen käyttö olisi yläosassa oleva kehys, jossa on logo tai otsikko, kehys sivussa, jossa on valikko, ja sisältökehys. Mutta hakukoneet indeksoivat yksittäisiä sivuja, joten kun löydät jonkin sivun Googlesta, se linkittäisi suoraan sisältösivulle ilman kehysjoukkoa, joten menetät navigoinnin.Linkkien ja kirjanmerkkien ongelmana on, että haluat yleensä linkittää tai lisätä kirjanmerkkeihin tietyn sisältösivun kehysjoukossa menettämättä itse kehysjoukkoa. Se ei ole helppo tapa tehdä se.

Syynä kehysjoukkojen suosimiseen johtui siitä, että ne sallivat staattisesti sijoitetun otsikon ja valikon, jossa oli vierivä sisältöalue. Mutta se voidaan saavuttaa paljon helpommin CSS: llä tänään. Lisäksi kehysten avulla voit käyttää yleisiä elementtejä, kuten logoja ja valikoita, useilla sivuilla käyttämättä palvelinpuolen koodausta. Tämä oli etu ajankohtana, jolloin palvelinpuolen koodaus oli tylsää ja altis virheille (ts. CGI-komentosarjat), ja monet isännät eivät sallineet palvelinpuolen komentosarjoja lainkaan. Tänään sisällönhallintajärjestelmillä (CMS) ja paremmalla palvelinpuolella alustoilla, tämä on paljon paremmin hoidettavissa palvelinpuolella.

Joten kehysjoukon käytöstä ei periaatteessa ole mitään etuja, vain paljon ongelmia.

IF-kehykset voivat käyttää samalla tavalla kuin kehyssarjoja, ja siinä tapauksessa ne aiheuttavat myös samat ongelmat. Mutta on myös monia laillisia iframe-kehysten käyttötapoja, jotka eivät johda samoihin ongelmiin.

Vastaus

Kehykset (kehysjoukko) toimivat asiakirjana. Se poistetaan, koska se rikkoo HTML-asiakirjojen rakennetta ja navigointia. Esimerkiksi. sinulla on linkkejä yhdessä kehyksessä, sisältöä toisessa, et voi avata linkkiä sivulta uudessa ikkunassa, et voi linkittää tiettyyn alasivuun jne.

Toisaalta käsi-iframe-kehykset eivät riko mitään, jos niitä käytetään oikein, koska ne on tarkoitettu hiekkalaatikkosisältöön (esim. mainokset).

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *