flex生成swf文件以后需要被jsp页面调用调用的方式如下:
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="index。swf的宽" height="index.swf的高">
<param name="movie" value="你的index。swf的文件路径">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="swfversion" value="6.0.65.0">
<!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 -->
<param name="expressinstall" value="Scripts/expressInstall.swf">
<!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="index.swf的文件路径" width="index.swf的宽" height="index.swf的高">
<!--<![endif]-->
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="swfversion" value="6.0.65.0">
<param name="expressinstall" value="Scripts/expressInstall.swf">
<!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 -->
<div>
<h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4>
<p><a href=" http://www.adobe.com/go/getflashplayer"><img src=" http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
code中的id和classid 从flex生成的.html文件中获取
在IE中和非IE中的加载方式不太一样注意区分
另外可以通过FlashId来获取FLex传递过来的参数
document.getElementById(
"FlashId"
).callJs();
判断浏览器版本的js代码:
var browser = navigator.appName;
if(browser =="Microsoft Internet Explorer"){
document.getElementById("isIEBrowser").style.display='block';
document.getElementById("notIeBrowser").style.display='none';
}else{
document.getElementById("isIEBrowser").style.display='none';
document.getElementById("notIeBrowser").style.display='block';
}
另外Flex生成的html文件也贴出来和大家共享一下(当然是关键部分喽):
<script type="text/javascript">
<!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. -->
var swfVersionStr = "10.0.0";
<!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->
var xiSwfUrlStr = "playerProductInstall.swf";
var flashvars = {};
var params = {};
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
var attributes = {};
attributes.id = "FlexUpload";
attributes.name = "FlexUpload";
attributes.align = "middle";
swfobject.embedSWF(
"FlexUpload.swf", "flashContent",
"570", "400",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
<!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. -->
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
</script>
在jsp中就可以引用上面的内容,Flex利用socket进行断点续传,jsp加载swf文件间接实现断点续传功能暂时就算结束了,如果有新的发现还会继续修改相关内容。