interface HTMLIFrameElement : HTMLElement {Seamless - iframe součástí stránky
attribute DOMString src;
attribute DOMString name;
attribute DOMString sandbox;
boolean DOMString seamless;
};
Pokud atribut seamless obsahuje hodnotu true, bude obsah iframe zobrazen jako skutečná součást rodičovské stránky (resp. bariéra mezi rodičovským dokumentem a obsahem iframu je o něco snížena) to značí zejména:
- odkazy v iframu se budou otevírat v rodičovském dokumentu a nikoliv v iframu
- dojde k jistému dědění CSS pravidel z rodičovského dokumentu do iframu
Sandbox - iframe, kterému nevěříme
O opak se snaží atribut sandbox, který naopak iframe omezuje a bariéru mezi rodičovským dokumentem a dokumentem v iframe zvyšuje. Sanbox může obsahovat kombinaci následujících hodnot oddělených mezerou: allow-same-origin, allow-forms, a allow-scripts.
Přítomnost atributu sandbox vždy zabrání dokumentu v iframe:
- navigovat jiné dokumenty než je on sám (např. když dokument v iframu změnil URL rodičovského dokumentu)
- vytvářet nové kontexty prohlížeče (v orig. browsing context - myšleno např. otevírat nová okna)
- používat libovolné pluginy (ty se často řídí svými pravidly a mohly by tak pravidla sandboxu "nějak obejít").
- číst hodnoty cookies pokud není nastavena hodnota allow-same-origin (iframe se tak chová jakoby byl z jiné domény, i přesto že je ze stejné)
- odesílat formuláře pokud není nastavena hodnota allow-forms
- spouštět skripty pokud není nastavena hodnota allow-scripts
Více v oznámení v mailing listu.
Zajímavý a užitečný nápad, zvláště Seamless. Popravdě, hodil by se mi tak před dvěma měsíci u jednoho projektu. Nu což, snad se dočkáme v HTML5 :)
OdpovědětVymazatno nevím zda to chápu dobře, ale sháním řešení aby odkaz na url který je v obsahu iframu po kliknutí nahodil nové okno v prohlížeči s www která je uvedena v odkazu.
OdpovědětVymazat