Visningsegenskaper för HTMLLoader-objekt

Adobe AIR 1.0 och senare

Ett HTMLLoader-objekt ärver visningsegenskaperna från klassen Sprite i Adobe® Flash® Player. Du kan till exempel ändra storlek, flytta och dölja objektet eller ändra bakgrundsfärgen. Du kan också tillämpa avancerade effekter som filter, masker, skalning eller rotation. När du använder effekter bör du tänka på hur de påverkar läsbarheten. SWF- och PDF-innehåll som läses in på en HTML-sida kan inte visas när vissa effekter används.

HTML-fönster innehåller ett HTMLLoader-objekt som renderar HTML-innehållet. Detta objekt begränsas av fönstrets yta, vilket gör att ändringar av dimensioner, position, rotation eller skalfaktor inte alltid ger önskvärda resultat.

Grundläggande visningsegenskaper

De grundläggande visningsegenskaperna i HTMLLoader ger dig möjlighet att placera kontrollen i dess överordnade visningsobjekt, att ange storleken och att visa eller dölja kontrollen. Du bör inte ändra dessa egenskaper för HTMLLoader-objektet för ett HTML-fönster.

De grundläggande egenskaperna innefattar:

Egenskap

Anteckningar

x, y

Placerar objektet inuti dess överordnade behållare.

width, height

Ändrar visningsytans dimensioner.

visible

Kontrollerar synligheten för objektet och allt innehåll i objektet.

Utanför ett HTML-fönster är standardinställningen för egenskaperna width och height satt till 0. Du måste ställa in bredd och höjd innan det går att se det inlästa HTML-innehållet. HTML-innehåll ritas efter storleken på HTMLLoader, och layoutas enligt HTML- och CSS-egenskaperna i innehållet. När storleken på HTMLLoader ändras, flödas innehållet om.

När du läser in innehåll i ett nytt HTMLLoader-objekt (med width fortfarande satt till 0), kan det vara frestande att ställa in width och height för visning av HTMLLoader-objektet med egenskaperna contentWidth och contentHeight. Denna teknik fungerar för sidor som har en rimlig minimibredd när de layoutas enligt flödesreglerna i HTML och CSS. Vissa sidor flödar dock i en lång och smal layout när en rimlig bredd inte anges i HTMLLoader-objektet.

Obs! När du ändrar bredd och höjd på ett HTMLLoader-objekt ändras inte värdena för scaleX och scaleY, vilket skulle ske med de flesta andra typer av visningsobjekt.

Genomskinlighet för innehåll i HTMLLoader

Egenskapen paintsDefaultBackground för ett HTMLLoader-objekt är som standard inställt till true, och avgör om HTMLLoader-objektet ritar en ogenomskinlig bakgrund. När paintsDefaultBackground är false, är bakgrunden genomskinlig. Bakom förgrundselementen i HTML-innehållet, går det att se behållaren för visningsobjektet eller andra visningsobjekt som ligger under HTMLLoader-objektet.

Om body-elementet eller något annat element i HTML-dokumentet specificerar en bakgrundsfärg (med till exempel style="background-color:gray"), är bakgrunden för den delen av HTML-koden ogenomskinlig, och renderas med den angivna bakgrundsfärgen. Om du ställer in egenskapen opaqueBackground för HTMLLoader-objektet och paintsDefaultBackground är satt till false, är färgen som är inställd för opaqueBackground synlig.

Obs! Du kan använda en genomskinlig bild i PNG-format för att skapa en alfablandad bakgrund för ett element i ett HTML-dokument. Att ställa in opacitetstyp för ett HTML-element stöds inte.

Skala HTMLLoader-innehåll

Undvik att skala ett HTMLLoader-objekt över en skalfaktor på 1,0. Text i HTMLLoader-innehåll renderas med en specifik upplösning och ser taggig ut om HTMLLoader-objektet skalas upp. Ställ in scenegenskapen scaleMode till StageScaleMode.NO_SCALE för att förhindra att HTMLLoader och allt dess innehåll skalas när storleken på fönstret ändras.

Att tänka på vid inläsning av SWF- eller PDF-innehåll i en HTML-sida

SWF- och PDF-innehåll som läses in i ett HTMLLoader-objekt försvinner under följande förhållanden:

  • Om du skalar HTMLLoader-objektet till en annan faktor än 1,0.

  • Om du ställer in egenskapen alpha i HTMLLoader-objektet till ett annat värde än 1,0.

  • Om du roterar HTMLLoader-innehållet.

Innehållet visas igen om du tar bort egenskapsinställningen som orsakade problemet och tar bort de aktiva filtren.

Dessutom kan inte körningstiden visa PDF-innehållet i genomskinliga fönster. Körningstiden visar endast SWF-innehåll som är inbäddat i en HTML-sida när parametern wmode för objektet eller den inbäddade taggen är inställd på opaque eller transparent. Eftersom standardvärdet för wmode är window visas inte SWF-innehåll i genomskinliga fönster såvida du inte uttryckligen anger wmode-parametern.

Obs! Före AIR 1.5.2 kunde inte SWF som är inbäddat i HTML visas, oavsett vilket wmode-värde som användes.

Mer information om hur du läser in den här typen av media i ett HTMLLoader-objekt finns i avsnitten Bädda in SWF-innehåll i HTML och Lägga till PDF-innehåll i AIR.

Avancerade visningsegenskaper

Klassen HTMLLoader ärver flera metoder som kan användas som specialeffekter. För det mesta har dessa effekter begränsningar när de används med HTMLLoader-visningen, med de kan vara användbara till övergångar eller andra tillfälliga effekter. Om du till exempel visar ett dialogfönster för att hämta inmatningar från en användare, kan du göra visningen av huvudfönstret suddig till dess att användaren stänger dialogen. På samma sätt kan du tona ut visningen när du stänger ett fönster.

De avancerade visningsegenskaperna innefattar:

Egenskap

Begränsningar

alpha

Kan minska läsbarheten på HTML-innehåll

filters

Yttre effekter i ett HTML-fönster klipps bort av fönstrets kant

graphics

Former som är ritade med graphics-kommandon visas under HTML-innehåll, inklusive standardbakgrunden. Egenskapen paintsDefaultBackground måste vara satt till false för att de ritade formerna ska synas.

opaqueBackground

Ändrar inte färgen på standardbakgrunden. Egenskapen paintsDefaultBackground måste vara satt till false för att detta färglager ska synas.

rotation

Hörnen på det rektangulära HTMLLoader-området kan klippas bort av fönstrets kant. SWF- och PDF-innehåll som är inläst i HTML-innehållet visas inte.

scaleX, scaleY

Den renderade visningen kan se taggig ut vid skalfaktorer större än 1. SWF- och PDF-innehåll som är inläst i HTML-innehållet visas inte.

transform

Kan minska läsbarheten på HTML-innehåll. HTML-visningen kan klippas bort av fönstrets kant. SWF- och PDF-innehåll som är inläst i HTML-innehållet visas inte om omformningen innefattar rotation, skalning eller skevning.

Följande exempel visar hur du ska ställa in arrayen filters för att göra hela HTML-visningen suddig:

var html:HTMLLoader = new HTMLLoader(); 
var urlReq:URLRequest = new URLRequest("http://www.adobe.com/"); 
html.load(urlReq); 
html.width = 800; 
html.height = 600; 
 
var blur:BlurFilter = new BlurFilter(8); 
var filters:Array = [blur]; 
html.filters = filters;