De ce au fost eliminate cadrele în HTML5, dar nu iFrame? La urma urmei, nu există aproape nicio diferență între cele două. În multe cazuri, utilizarea oricăruia dintre ele ar oferi același rezultat (scuzați-mă dacă greșesc)?

Comentarii

Răspuns

Există „câteva concepții greșite în postarea dvs. În primul rând, frame și frameset elementele nu sunt depreciate în HTML5, ele „sunt învechite (adică „au fost eliminate complet).

În al doilea rând, frame și

elementele nu sunt același lucru cu elementul iframe și nici nu dau același rezultat:

  • Elementul frameset înlocuiește elementul corp din pagini ca mijloc de a include un model de document diferit pentru paginile web: acestea sunt „negative pentru utilizare și accesibilitate și ceea ce au intenționat pentru a realiza au fost complet înlocuite de CSS și dezvoltare omniprezentă pe partea de server.

  • Elementul iframe, pe de altă parte, nu nu înlocuiți corpul unei pagini. Acționează ca un mijloc de a include un nou context de navigare încorporat într-un bloc de conținut. Nu suferă de aceleași probleme de utilizare sau accesibilitate ca și modelul setului de cadre și este utilizat aproape oriunde trebuie inclus un context de navigare încorporat (widgeturile fiind cel mai prolific exemplu). 1

iframe din HTML5 preia și caracteristici suplimentare, deoarece poate fi sandboxed , permițând documentului părinte să decidă ce se execută în cadrul acestuia. Acest lucru permite o anumită măsură de securitate pentru documentul părinte (și pentru vizitatorii documentului părinte) la încorporarea conținutului de încredere.


Note

Nota 1: elementul object se suprapune oarecum cu elementul iframe, dar are un model de conținut diferit (care este destinat în principal pluginurilor), are propriul set de avertismente și nu are atributele sandboxing pe care le are elementul iframe.

Comentarii

  • De ce elementele cadrelor nu sunt adecvate pentru " utilizabilitate " și " accesibilitate " dar elementele iframe nu sunt ' t?
  • @meriton Setul de cadre construiește o pagină din mai multe documente, toate cu aceeași prioritate: acest lucru provoacă provocări pentru cititoarele de ecran care nu știu pe ce document să se concentreze în orice moment. I elementele cadrului, pe de altă parte, sunt pur și simplu încorporate într-o singură pagină: ' nu diferă decât de a avea o imagine încorporată.
  • Provocări pentru cititoarele de ecran: Oamenii nevăzători cu care am vorbit au spus cu toții că preferă ca navigația să fie blocată într-un cadru separat (nu iFrame), deoarece pot să o ignore și să o citească doar atunci când vor. Adevăratul vinovat pentru cititoarele de ecran este Javascript și AJAX, ceea ce face paginile complet inutilizabile cu cititoarele de ecran actuale (ei bine, informațiile mele au o vechime de aproximativ 10 luni). Experiența mea personală cu cititoarele de ecran susține acest lucru.
  • Mă ' mă întreb dacă o mulțime de 2005 ' afirmațiile de accesibilitate solicitate adesea nu au fost ' expirate pentru o actualizare. Vă mulțumim pentru disensiunea în acest sens.
  • @GlenPeterson se poate obține același efect fără element cadru utilizând CSS pentru a fixa elementul bloc în fereastra de vizualizare. Acesta este CUM ar trebui făcut dacă doriți acest tip de navigație. Are mai mult sens.

Răspuns

Seturile de cadre sunt adesea utilizate într-un mod în care încalcă principiul fundamental al Web – că fiecare document are o singură adresă URL. Acest lucru duce la probleme cu legarea, marcajele, motoarele de căutare etc.

Utilizarea tipică a unui set de cadre ar fi un cadru în partea de sus cu un logo sau antet, un cadru în lateral cu un meniu și un cadru de conținut. Însă motoarele de căutare indexează pagini individuale, astfel încât atunci când găsiți o pagină în Google, aceasta se va conecta direct la pagina de conținut fără setul de cadre, astfel încât să pierdeți navigarea.Problema legăturilor și marcajelor este că de obicei doriți să legați sau să marcați o anumită pagină de conținut din cadrul setului de cadre, fără a pierde setul de cadre în sine. Nu este o modalitate ușoară de a face asta.

Motivele pentru care seturile de cadre au devenit populare în primul rând s-au datorat faptului că au permis un antet și un meniu poziționate static, cu o zonă de conținut care derulează. Dar acest lucru poate fi realizat mult mai ușor cu CSS astăzi. Mai mult, cadrele v-au permis să utilizați elemente comune, cum ar fi siglele și meniurile pe mai multe pagini, fără a utiliza nici o codare de pe server. Acesta a fost un avantaj într-un moment în care codarea de pe server a fost plictisitoare și predispusă la erori (de exemplu, scripturi CGI), iar multe gazde nu au permis deloc scripturile de pe server. Astăzi, cu sisteme de management al conținutului (CMS) și o mai bună parte a serverului platforme, acest lucru este mult mai bine gestionat pe partea serverului.

Deci, practic, nu există avantaje în utilizarea unui set de cadre, ci doar o mulțime de probleme.

IFrames can să fie utilizate în același mod în care au fost utilizate seturile de cadre și, în acest caz, ele duc și la aceleași probleme. Dar există și multe utilizări legitime ale iframe-urilor care nu duc la aceleași probleme.

Răspuns

Rame (seturi de cadre) acționează ca document. Este eliminat deoarece întrerupe structura și navigarea documentelor HTML. De exemplu. aveți link-uri într-un cadru, conținut în celălalt, nu puteți „deschide linkul din pagină într-o fereastră nouă, nu puteți„ face link către o anumită subpagină etc. etc.

Pe de altă parte iframele de mână nu vor rupe nimic dacă sunt folosite corect, deoarece sunt destinate conținutului sandbox (de exemplu, reclame).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *