Flash全屏功能测试
在线测试页面: http://www.klstudio.com/demo/as/fullscreen/fullscreen.html
相关资料文件: http://www.klstudio.com/demo/as/fullscreen/fullscreen.rar
在线测试页面: http://www.klstudio.com/demo/as/fullscreen/fullscreen.html
相关资料文件: http://www.klstudio.com/demo/as/fullscreen/fullscreen.rar
<div id="flashcontent"></div> <script language="javascript" src="js/swfobject.js"></script> <script language="JavaScript"> var orginFlash = {init:false,isFullScreen:false,position:"",top:"",left:"",width:"",height:""}; function writeFlash(){ var so = new SWFObject("fullscreen.swf", "fplayer", "100%", "100%", 8, "#FFFFFF"); so.addParam("quality", "high"); so.addParam("swLiveConnect", "true"); so.addParam("menu", "false"); so.addParam("allowScriptAccess", "sameDomain"); so.addParam("allowFullScreen", "true"); so.write("flashcontent"); } function getScreenSize(){ var w = 0; var h = 0; if( typeof( window.innerWidth ) == 'number' ) { w = window.innerWidth; h = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { w = document.documentElement.clientWidth; h = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { w = document.body.clientWidth; h = document.body.clientHeight; } return {width:w,height:h}; } function fullScreen(){ if(!orginFlash.init){ orginFlash.position = document.getElementById("flashcontent").style.position; orginFlash.top = document.getElementById("flashcontent").style.top; orginFlash.left = document.getElementById("flashcontent").style.left; orginFlash.width = document.getElementById("flashcontent").style.width; orginFlash.height = document.getElementById("flashcontent").style.height; } orginFlash.init = true; orginFlash.isFullScreen = true; var screenSize = getScreenSize(); try{ document.getElementById("flashcontent").style.position = "absolute"; document.getElementById("flashcontent").style.top = "0px"; document.getElementById("flashcontent").style.left = "0px"; document.getElementById("flashcontent").style.width = screenSize.width +"px"; document.getElementById("flashcontent").style.height = screenSize.height +"px"; document.body.style.overflow="hidden"; window.scrollTo(0,0); }catch(e){ } } function normal(){ if(orginFlash.init){ orginFlash.isFullScreen = false; try{ document.getElementById("flashcontent").style.position = orginFlash.position; document.getElementById("flashcontent").style.top = orginFlash.top; document.getElementById("flashcontent").style.left = orginFlash.left; document.getElementById("flashcontent").style.width = orginFlash.width; document.getElementById("flashcontent").style.height = orginFlash.height; document.body.style.overflow="auto"; }catch(e){ } } } function reSize(){ if(orginFlash.isFullScreen){ fullScreen(); } } window.onresize = reSize; writeFlash(); </script> |
P.S.
1、flash全屏功能代码部分参考网上资料。
2、flash全屏功能在IE6以上,flash player 7.0以上 浏览器环境中测试可以运行!
3、flash全屏功能通过两种方式实现,flash player版本号在9.0.18.60以上 是通过flash 9内部代码实现的,而低于这个版本的则是通过js + div来实现的!
4、通过flash 9新功能来实现全屏技术要注意以下几点:
a、flash player版本必须是 9.0.18.60或更高版本;
b、调用全屏功能代码需通过触发事件才可以运行的,如onPress,onRelease事件;
c、在插入html 代码时需设置<param name="allowFullScreen" value="true" />;
d、经多次研究发现,如 html代码设置成<param name="wmode" value="opaque" />或<param name="wmode" value="transparent" />时,则全屏功能无效!也就是说只有flash窗口模块设置为window时,全屏功能才有效(这个算是我的独家发现吧)!