首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 網頁嵌入 Flash 動畫:Object/Embed 標籤相容性寫法與 SWF 路徑處理

     編輯:關於ASP.NET

在 ASP.NET 頁面嵌入 Flash (.swf) 與純 HTML 無異,關鍵在正確撰寫 <object> / <embed> 雙標籤以相容 IE (ActiveX) 與非 IE (NPAPI) 瀏覽器。

標準相容嵌入代碼

<div align="center">
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
          codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
          width="150" height="280">
    <param name="movie" value="~/Flash/movie.swf" />
    <param name="quality" value="high" />
    <param name="SCALE" value="exactfit" />
    <param name="wmode" value="transparent" /> <!-- 透明背景,避免遮擋下拉選單 -->
    <embed src="~/Flash/movie.swf"
           width="150" height="280"
           quality="high"
           scale="exactfit"
           wmode="transparent"
           pluginspage="https://www.macromedia.com/go/getflashplayer"
           type="application/x-shockwave-flash"></embed>
  </object>
</div>

關鍵屬性說明

屬性用途建議值
movie / srcSWF 檔案路徑相對路徑 (~/Flash/...) 或絕對 URL
quality播放品質high / autolow / autohigh
wmode視窗模式transparent (透明) / opaque / window (預設)
SCALE / scale縮放模式exactfit (填滿) / noborder / showall
FlashVars傳遞參數給 SWF<param name="FlashVars" value="id=123&lang=zh" />

ASP.NET 動態控制技巧

// 後端動態設定 SWF 路徑與參數
protected void Page_Load(object sender, EventArgs e)
{
    string swfUrl = ResolveUrl("~/Flash/player.swf");
    string flashVars = $"videoId={Request["id"]}&autoPlay=true";

    // 方式1:Literal 輸出完整標籤
    ltlFlash.Text = $@"<object ...><param name='movie' value='{swfUrl}' />
        <param name='FlashVars' value='{flashVars}' />...</object>";

    // 方式2:HtmlGenericControl 建立 object/embed (較繁瑣)
}

重要提醒

  • Flash 已於 2020/12/31 終止支援,現代瀏覽器均已移除 Flash Player。新專案請改用 HTML5 <video>、<canvas>、WebGL、Lottie (JSON 動畫) 等技術。
  • 維舊系統若必須支援,可考慮 Ruffle (Rust 寫的 Flash 模擬器,WASM 版可直接在瀏覽器運行)。
  • 舊版 IE 相容模式下,classid 必須為完整 CLSID,否則無法載入 ActiveX 控件。

本文僅供維護舊系統參考,新開發請務必採用現代 Web 標準技術替代 Flash。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved