【问题标题】:How to embed a flash (.swf) file into asp.net?如何将 Flash (.swf) 文件嵌入 asp.net?
【发布时间】:2009-03-21 06:12:48
【问题描述】:

如何在 asp.net 中显示 flash (.swf) 文件?

【问题讨论】:

    标签: asp.net flash


    【解决方案1】:

    从 YouTube 获得的

    <object width="425" height="344">
        <param name="movie" value="http://www.youtube.com/v/Xt5t9BO6xkA&hl=en&fs=1"></param>
        <param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
        <embed src="http://www.youtube.com/v/Xt5t9BO6xkA&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
    </object>
    

    你只需要这个:

    <object width="425" height="344">
      <embed src="PATH_TO_YOUR_FILE" type="application/x-shockwave-flash" width="425" height="344"></embed>
    </object>
    

    【讨论】:

    • 是IE,你期待什么?
    【解决方案2】:

    使用 SWF 对象 javascript 助手 http://code.google.com/p/swfobject/

    • 这是行业标准
    • 它隐藏了浏览器之间 Flash 初始化的差异
    • 它允许您以独立于浏览器的方式指定 Flash 变量
    • 它允许您指定所需的 Flash 播放器版本

    见下例

    <script type="text/javascript">
    var flashvars = {
    playlistURL: "playlist.xml",
    skinURL: "skin-transp-grey.swf",
    width: "400", 
    height: "300",
    continuous : "true"
    };
    
    var params = {
    allowscriptaccess: "always",
    allowfullscreen: "true",
    };
    
    var attributes = {
    id: "mediaplayer1",
    name: "mediaplayer1"
    };
    
    swfobject.embedSWF("mediaplayer.swf", "video", "400", "300", "9.0.0", "expressInstall.swf", flashvars, params,attributes);
    </script> 
    

    【讨论】:

      【解决方案3】:

      我会考虑使用 FlashEmbed,这是一种 JavaScript 工具,可用于将 Flash 对象嵌入您的网站。

      使用简单,优点很多:

      • 很简单:例如,只需使用flashembed("flash10", "/swf/flash10.swf"),如果您不需要任何特别的东西,您不必学习太多。
      • 网站上有很多关于如何配置工具的演示
      • jQuery 支持:flashembed 专为脚本编写者而设计,具有完善的编程 API 以及对 jQuery 选择器的支持。
      • JSON 配置:在为 Flash 对象提供配置时,值可以是具有数组、字符串、函数和其他对象的复杂 JavaScript 对象。
      • 大小:插件缩小后的重量约为 5 kb。

      如果您愿意,可以编写一个 ASP.NET 服务器控件,它会在该页面上呈现您需要的 HTML:

      1. 包括使用ScriptManager.RegisterScriptResource(...) 的外部脚本资源链接(每页一次)
      2. 使用ScriptManager.RegisterClientScript(...) 渲染 flashebmed 脚本(对于您想要嵌入页面的每一个 flash)
      3. 写一些有用的属性,如 src、name 等。

      然后,以这种方式在您的页面中使用控件,例如:

      <myControls:FlashEmbed runat="server" id="Flash1" Name="Clock" Src="/swf/clock.swf" />
      

      【讨论】:

        【解决方案4】:

        嵌入是通过您在 HTML 中输出的内容来处理的——ASP.NET 中没有关于它的具体内容。

        换一种说法,就像你输出任何其他 HTML &lt;B&gt;, &lt;I&gt; 等一样,你可以输出如下内容:

        <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/IZKl4nA5cmM&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IZKl4nA5cmM&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
        

        【讨论】:

          【解决方案5】:

          在所有现代浏览器中单独使用 HTML5 嵌入标签就可以解决问题。

          <embed src="FILE" type="application/x-shockwave-flash" width="X" height="Y" />
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-31
            • 2012-11-03
            • 2012-08-15
            • 1970-01-01
            • 2023-01-11
            • 2012-02-21
            相关资源
            最近更新 更多