【发布时间】:2009-03-21 06:12:48
【问题描述】:
如何在 asp.net 中显示 flash (.swf) 文件?
【问题讨论】:
如何在 asp.net 中显示 flash (.swf) 文件?
【问题讨论】:
从 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>
【讨论】:
使用 SWF 对象 javascript 助手 http://code.google.com/p/swfobject/
见下例
<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>
【讨论】:
我会考虑使用 FlashEmbed,这是一种 JavaScript 工具,可用于将 Flash 对象嵌入您的网站。
使用简单,优点很多:
flashembed("flash10", "/swf/flash10.swf"),如果您不需要任何特别的东西,您不必学习太多。如果您愿意,可以编写一个 ASP.NET 服务器控件,它会在该页面上呈现您需要的 HTML:
ScriptManager.RegisterScriptResource(...) 的外部脚本资源链接(每页一次)ScriptManager.RegisterClientScript(...) 渲染 flashebmed 脚本(对于您想要嵌入页面的每一个 flash)然后,以这种方式在您的页面中使用控件,例如:
<myControls:FlashEmbed runat="server" id="Flash1" Name="Clock" Src="/swf/clock.swf" />
【讨论】:
嵌入是通过您在 HTML 中输出的内容来处理的——ASP.NET 中没有关于它的具体内容。
换一种说法,就像你输出任何其他 HTML <B>, <I> 等一样,你可以输出如下内容:
<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>
【讨论】:
在所有现代浏览器中单独使用 HTML5 嵌入标签就可以解决问题。
<embed src="FILE" type="application/x-shockwave-flash" width="X" height="Y" />
【讨论】: