SWF-inhoud insluiten in HTML

Adobe AIR 1.0 of hoger

In een AIR-toepassing kunt u SWF-inhoud insluiten in HTML-inhoud, net zoals in een browser. Sluit de SWF-inhoud in met behulp van de tag object, de tag embed of beide.

Opmerking: Vaak wordt zowel de tag object als de tag embed gebruikt om SWF-inhoud weer te geven in een HTML-pagina. Deze techniek biedt echter geen voordelen in AIR. U kunt de W3C-standaard tag object op zichzelf gebruiken in inhoud die in AIR moet worden weergegeven. U kunt ook desgewenst de tags object en embed samen blijven gebruiken voor HTML-inhoud die ook in een browser wordt weergegeven.

Als u transparantie hebt ingeschakeld in het NativeWindow-object waarin de HTML- en SWF-inhoud wordt weergegeven, geeft AIR de SWF-inhoud niet weer wanneer de voor het insluiten van de inhoud gebruikte venstermodus (wmode) is ingesteld op de waarde window. Als u SWF-inhoud wilt weergeven in een HTML-pagina van een transparant venster, stelt u de parameter wmode in op opaque of transparent. window is de standaardwaarde voor wmode. Als u dus geen waarde opgeeft, is het mogelijk dat uw inhoud niet wordt weergegeven.

In het volgende voorbeeld ziet u hoe u de HTML-tag object gebruikt om een SWF-bestand in HTML-inhoud weer te geven. De parameter wmode is ingesteld op opaque, zodat de inhoud wordt weergegeven, ook als het onderliggende NativeWindow-object transparant is. Het SWF-bestand wordt vanuit de toepassingsmap geladen maar u kunt een willekeurig URL-schema gebruiken dat door AIR wordt ondersteund. (De bronlocatie van het SWF-bestand bepaalt de beveiligingssandbox waarin AIR de inhoud plaatst.)

<object type="application/x-shockwave-flash" width="100%" height="100%"> 
    <param name="movie" value="app:/SWFFile.swf"></param> 
    <param name="wmode" value="opaque"></param> 
</object>

U kunt ook een script gebruiken om inhoud dynamisch te laden. In het volgende voorbeeld ziet u hoe u een object-knooppunt maakt om het SWF-bestand weer te geven dat is opgegeven in de parameter urlString. Het voorbeeld voegt het knooppunt toe als onderliggend element van het pagina-element met de id die is opgegeven met de parameter elementID:

<script> 
function showSWF(urlString, elementID){ 
    var displayContainer = document.getElementById(elementID); 
    var flash = createSWFObject(urlString, 'opaque', 650, 650); 
    displayContainer.appendChild(flash); 
} 
function createSWFObject(urlString, wmodeString, width, height){ 
    var SWFObject = document.createElement("object"); 
    SWFObject.setAttribute("type","application/x-shockwave-flash"); 
    SWFObject.setAttribute("width","100%"); 
    SWFObject.setAttribute("height","100%"); 
    var movieParam = document.createElement("param"); 
    movieParam.setAttribute("name","movie"); 
    movieParam.setAttribute("value",urlString); 
    SWFObject.appendChild(movieParam); 
    var wmodeParam = document.createElement("param"); 
    wmodeParam.setAttribute("name","wmode"); 
    wmodeParam.setAttribute("value",wmodeString); 
    SWFObject.appendChild(wmodeParam);      
    return SWFObject; 
} 
</script>

SWF-inhoud wordt niet weergegeven als het HTMLLoader-object geschaald of geroteerd is of als de eigenschap alpha is ingesteld op een andere waarde dan 1.0. Vóór AIR 1.5.2 werd SWF-inhoud niet weergegeven in een transparant venster, ongeacht de voor wmode ingestelde waarde.