Incorporação de conteúdo SWF em HTML

Adobe AIR 1.0 e posterior

Você pode incorporar o conteúdo SWF em um conteúdo HTML do aplicativo AIR da mesma forma que em um navegador. Incorpore o conteúdo SWF usando a tag object, a tag embed ou as duas.

Nota: Uma prática comum de desenvolvimento é usar tanto uma tag object quanto uma tag embed para exibir conteúdo SWF em uma página HTML. Essa prática não tem nenhum benefício no AIR. Você pode usar a própria tag object padrão W3C no conteúdo para ser exibido no AIR. Ao mesmo tempo, você pode continuar usando as tags object e embed juntas, se necessário, para conteúdo HTML exibido também no navegador.

Se você habilitou a transparência no objeto NativeWindow exibindo o conteúdo HTML e SWF, o AIR não exibe o conteúdo SWF quando o modo janela (wmode) utilizado para integrar o conteúdo estiver definido em: window. Para exibir o conteúdo do SWF em uma página HTML de uma janela transparente, configure o parâmetro wmode para opaque ou transparent. window é o valor padrão para wmode, de forma que o conteúdo pode não ser exibido se você não especificar o valor.

O seguinte exemplo ilustra o uso da tag object HTML para exibir um arquivo SWF no conteúdo HTML. O parâmetro wmode está definido para opaque de forma que o conteúdo é exibido, mesmo quando o objeto base NativeWindow for transparente. O arquivo SWF é carregado do diretório do aplicativo, mas você pode usar qualquer um dos esquemas de URL suportados pelo AIR. (O local do qual o arquivo SWF é carregado determina a caixa de proteção de segurança em que o AIR coloca o conteúdo.)

<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>

Você também pode usar um script para carregar conteúdo dinamicamente. O seguinte exemplo cria um nó object para exibir o arquivo SWF especificado no parâmetro urlString. O exemplo adiciona o nó como filho do elemento de página com a ID especificada pelo parâmetro 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>

O conteúdo SWF não é exibido se o objeto HTMLLoader for dimensionado ou girado, ou se a propriedade alpha estiver definida para um valor diferente de 1.0. Antes do AIR 1.5.2, o conteúdo SWF não era exibido em uma janela transparente, não importando como o valor wmode estava definido.