Skip to main content

Pag-unawa sa Mga Elemento ng Bagong 'IFRAME' sa HTML5

Week 7 (Hunyo 2026)

Week 7 (Hunyo 2026)
Anonim

Pinapayagan ka ng elemento na i-embed mo nang direkta ang iba pang mga pahina sa Web sa iyong Web page. Ngunit kapag gumagamit ng mga iframe may ilang mga isyu sa seguridad at disenyo na hindi natugunan sa HTML 4.01. Ang HTML5 ay nagdadala ng tatlong bagong mga katangian sa sangkap na ito upang makatulong na matugunan ang mga alalahaning ito:

Ang sandbox Attribute

Ang sandbox katangian ng IFRAME elemento ay isang napaka-kapaki-pakinabang na tampok ng seguridad ng iframes. Kapag inilagay mo ito sa isang IFRAME elemento, tinuturuan mo ang ahente ng gumagamit na i-disallow ang mga tampok na maaaring magdulot ng panganib sa seguridad sa site at sa mga gumagamit nito.

Halimbawa:

sandbox = "" >

Sinasabi ng browser na huwag pahintulutan ang lahat ng mga tampok na maaaring isang panganib sa seguridad. Sa partikular, ang mga plugin ay hindi pinahintulutan. Ang mga form ay hindi maaaring isumite. Hindi tatakbo ang Sscripts at mag-link sa labas ng IFRAME ay hindi pinapayagan. Panghuli, ang pag-access sa cookies, lokal na imbakan at iba pang mga pahina sa parehong domain (pinanggalingan) ay hindi pinapayagan.

Pagkatapos, gamit ang sandbox Mga halaga ng keyword, maaari mong muling paganahin ang ilan sa mga tampok. Ang mga keyword na ito ay:

  • payagan-form-Lumikha ng form na pagsusumite
  • payagan-parehong-pinagmulan-Ipasok ang mga script upang ma-access ang nilalaman tulad ng cookies mula sa parehong domain ng pinagmulan
  • payagan-script-Ipasok ang mga script upang tumakbo sa ito IFRAME
  • payagan-top-navigation-Pagbigay-daan sa IFRAME mga link at mga script sa _top target

Hindi magandang ideya na itakda ang parehong payagan-script at payagan-parehong-pinagmulan sama-sama ang mga keyword IFRAME. Kung gagawin mo ito, maaaring agad na alisin ng naka-embed na pahina ang sandbox katangian, negating anumang mga benepisyo sa seguridad.

Ang srcdoc na Katangian

Ang srcdoc Ang attribute ay isang katangian na nagbibigay ng higit na kontrol sa taga-disenyo ng Web sa mga iframe pati na rin ang higit na seguridad. Sa halip na mag-link sa isang Web page sa ibang URL, inilalagay ng taga-disenyo ng Web ang HTML na ipapakita sa isang IFRAME sa loob ng srcdoc katangian.

Sa umpisa, baka iniisip mo, "Paano ito naiiba kaysa sa paglalagay ng HTML mismo sa pahina?" At sa ilang mga paraan, ito ay hindi gaanong magkakaiba. Ngunit dapat mong isaisip ang isa sa mga function ng IFRAME elemento, na kung saan ay upang mapanatili ang hindi pinagkakatiwalaang data na hiwalay mula sa natitirang bahagi ng site.

Sa pamamagitan ng paglalagay ng HTML na nilikha ng isang hindi pinagkakatiwalaang pinagmulan, tulad ng isang form, sa isang IFRAME maaari mong "sandbox" ang hindi pinagkakatiwalaang nilalaman at ipapakita pa rin ito sa pahina. Ang mga komento ng blog ay isang halimbawa. Karamihan sa mga blog ay mayroon lamang isang limitadong bilang ng mga tag ng mga tag ng HTML na magagamit sa kanilang mga komento. Ngunit sa pamamagitan ng paglalagay ng mga komento sa isang sandboxed IFRAME gamit ang srcdoc katangian, ang mga komento ay maaaring maging mas matatag habang pinoprotektahan pa rin ang site sa kabuuan.

Seguridad at Mga Iframe

Ang dalawang katangian sa itaas ay nagbibigay ng seguridad para sa iyong IFRAME elemento, ngunit hindi ito patunay laban sa lahat ng mga nakakahamak na site. Kung ang nakakahamak na site ay maaaring kumbinsihin ang isang user upang ma-access nang direkta ang pagalit na nilalaman (tulad ng sa pamamagitan ng pag-type ng URL sa kanilang browser) maaari pa rin silang maatake.

Kung posible ito ay pinakamahusay na itakda ang nilalaman na nasa sandboxed IFRAME bilang ang text / html-sandboxed Uri ng MIME.

Ang tuluy-tuloy na Katangian

Ang walang tahi Ang katangian ay isang katangian ng boolean na nagsasabi sa browser na maipakita ang IFRAME na parang ito ay bahagi ng dokumento ng magulang. Kung gusto mo ang iyong IFRAME upang ipakita nang walang putol, isama lamang ang katangiang ito sa elemento:

walang tahi >

Ngunit ginagawa ang IFRAME walang pinagtahian ay higit pa sa hitsura, ito rin kung paano nakikipag-ugnayan ang pahina sa frame. Halimbawa:

  • Mga link sa IFRAME ay magbubukas sa bintana ng magulang, maliban kung IFRAME Ang pahina ay may target _SELF itakda.
  • CSS sa IFRAME ay idaragdag sa kaskad ng buong dokumento.
  • Ang ugat ng elemento ng IFRAME Ang pahina ay itinuturing na isang bata ng IFRAME.
  • Ang lapad at taas ng IFRAME ay naka-set sa isang katulad na paraan kung paano itatakda ang iba pang mga elemento ng block-level.
  • Kapag ang dokumento ng magulang ay tiningnan ng isang tool sa pag-render ng pagsasalita tulad ng isang screen reader, ang IFRAME mababasa nang walang pahayag na ito bilang isang hiwalay na dokumento.
  • Ang anumang mga script sa dokumento ng magulang ay makakaapekto sa IFRAME dokumento sa parehong paraan. Halimbawa, kung ang isang script ay nakalista ang lahat ng mga frame sa pahina, ang mga link sa IFRAME ay nakalista rin.

Sa madaling salita, ang walang tahi Ang katangian ay higit pa kaysa sa alisin lamang ang mga hangganan mula sa IFRAME. Kung magtatakda ka ng isang IFRAME upang maging walang tahi, dapat kang maging sigurado sa mga nilalaman upang hindi ka magdagdag ng anumang panganib sa seguridad sa iyong website sa pamamagitan ng pag-embed ng isang nakakahamak na site.