需求:在jsp页面使用<object>,为了播放.swf文件,同时有js控制这个.swf文件的替换。
问题:若直接将<object>放在jsp页面内,在更换<param id=\"warnImgObject\" name=\"movie\" value=\""+imgUrl+"\"/>中的value时,页面不刷新的话并不会变更内容。
解决:js中拼接<object>标签内容,来达到异步刷新的效果,问题得以解决。
另外,因为<object>只支持IE,所以可以在<object>内加上标签<embed>来适应其他浏览器。
function setWarnImgHtml(imgUrl){
WARN_IMG_HTML = "<object id=\"object\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" " +
"codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width=\"30\" height=\"30\"> "+
"<param id=\"warnImgObject\" name=\"movie\" value=\""+imgUrl+"\"/>"+
"<param name=\"FlashVars\" value=\"prizeResult=3\"> "+
"<param name=\"quality\" value=\"high\"> "+
"<param name=\"menu\" value=\"false\"> "+
"<param name=\"wmode\" value=\"transparent\"> "+
"<param name=\"allowScriptAccess\" value=\"always\" /> "+
"<embed pluginspage=\"http://www.macromedia.com/go/getflashplayer\" "+
" menu=\"true\" loop=\"true\" play=\"true\" type=\"application/x-shockwave-flash\" "+
" style=\"z-index:2;width:29px;height:29px;\" wmode=\"transparent\" "+
" src=\""+imgUrl+"\" "+
" id=\"warnImg\" align=\"top\" alt=\"BBBB\" title=\"BB\">"+
"</embed> "+
"</object>";
}