SWF-inhoud insluiten in HTMLAdobe 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. |
|