HTML への SWF コンテンツの埋め込み

ブラウザでの埋め込みと同じ方法で、AIR アプリケーション内で HTML コンテンツに SWF コンテンツを埋め込むことができます。SWF コンテンツを埋め込むには、object タグまたは embed タグを使用するか、両方のタグを使用します。

注意: Web 開発の一般的な方法では、object タグと embed タグの両方を使用して HTML ページ内に SWF コンテンツを表示します。この方法は AIR では利点がありません。AIR では、W3C 標準の object タグを単独で使用してコンテンツを表示できます。同時に、HTML コンテンツをブラウザにも表示する場合は、必要に応じて object タグと embed タグの両方を使用することもできます。

次の例では、HTML の object タグを使用して SWF ファイルを HTML コンテンツ内に表示する方法を示します。SWF ファイルはアプリケーションディレクトリから読み込まれますが、AIR でサポートされている任意の URL スキームから読み込むことができます。どこから SWF ファイルを読み込むかによって、コンテンツの挿入先のセキュリティサンドボックスが決まります。

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

スクリプトを使用してコンテンツを動的に読み込むこともできます。次の例では、object ノードを作成して urlString パラメータに指定された SWF ファイルを表示します。この例では、elementID パラメータによって指定された ID を使用してページエレメントの子としてノードを追加します。

<script> 
function showSWF(urlString, elementID){ 
    var displayContainer = document.getElementById(elementID); 
    displayContainer.appendChild(createSWFObject(urlString,650,650)); 
} 
function createSWFObject(urlString, 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); 
    return SWFObject; 
} 
</script>