Flex 全屏问题

it2024-11-11  11

今天上午遇到FLEX全屏报错的问题: SecurityError: Error #2152: 不允许使用全屏模式。      上网搜了一下,解决了问题。参考:http://hi.baidu.com/fanglor/blog/item/068e7bfc3c793b84b801a07a.html      转载如下:      

MXML:

-----------------------------------------

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"><mx:Script><![CDATA[   import flash.display.*;     private function Full1(evt:MouseEvent):void   {    if (this.stage.displayState == StageDisplayState.FULL_SCREEN)    {     this.stage.displayState = StageDisplayState.NORMAL;     stage.scaleMode = StageScaleMode.NO_SCALE;    }    else    {     this.stage.displayState = StageDisplayState.FULL_SCREEN;     stage.scaleMode = StageScaleMode.NO_SCALE;    }   }]]></mx:Script><mx:Button label="全屏" click="Full1(event)" x="28" y="26" width="61" height="37" fontSize="12 "/></mx:Application>

-----------------------------------------

HTML:

----------------------------------------

<!-- saved from url=(0014)about:internet --><html lang="en">

<!-- Smart developers always View Source.

This application was built using Adobe Flex, an open source frameworkfor building rich Internet applications that get delivered via theFlash Player or to desktops via Adobe AIR.

Learn more about Flex at http://flex.org/ // -->

<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<!-- BEGIN Browser History required section --><link rel="stylesheet" type="text/css" href="history/history.css" /><!-- END Browser History required section -->

<title></title><script src="AC_OETags.js" language="javascript"></script>

<!-- BEGIN Browser History required section --><script src="history/history.js" language="javascript"></script><!-- END Browser History required section -->

<style>body { margin: 0px; overflow:hidden }</style><script language="JavaScript" type="text/javascript"><!--// -----------------------------------------------------------------------------// Globals// Major version of Flash requiredvar requiredMajorVersion = 9;// Minor version of Flash requiredvar requiredMinorVersion = 0;// Minor version of Flash requiredvar requiredRevision = 28;// -----------------------------------------------------------------------------// --></script></head>

<body scroll="no"><script language="JavaScript" type="text/javascript"><!--// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)var hasProductInstall = DetectFlashVer(6, 0, 65);

// Version check based upon the values defined in globalsvar hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

if ( hasProductInstall && !hasRequestedVersion ) {// DO NOT MODIFY THE FOLLOWING FOUR LINES// Location visited after installation is complete if installation is requiredvar MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";var MMredirectURL = window.location;    document.title = document.title.slice(0, 47) + " - Flash Player Installation";    var MMdoctitle = document.title;

AC_FL_RunContent(   "src", "playerProductInstall",   "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",   "width", "100%",   "height", "100%",   "align", "middle",   "id", "fullstate",   "quality", "high",   "bgcolor", "#869ca7",   "name", "fullstate",   "allowFullScreen","true",   "allowScriptAccess","sameDomain",   "type", "application/x-shockwave-flash",   "pluginspage", "http://www.adobe.com/go/getflashplayer");} else if (hasRequestedVersion) {// if we've detected an acceptable version// embed the Flash Content SWF when all tests are passedAC_FL_RunContent(    "src", "fullstate",    "width", "100%",    "height", "100%",    "align", "middle",    "id", "fullstate",    "quality", "high",    "bgcolor", "#869ca7",    "name", "fullstate",    "allowFullScreen","true",    "allowScriptAccess","sameDomain",    "type", "application/x-shockwave-flash",    "pluginspage", "http://www.adobe.com/go/getflashplayer");} else { // flash is too old or we can't detect the plugin    var alternateContent = 'Alternate HTML content should be placed here. '+ 'This content requires the Adobe Flash Player. '   + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';    document.write(alternateContent); // insert non-flash content}// --></script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"    id="fullstate" width="100%" height="100%"    codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">    <param name="movie" value="fullstate.swf" />    <param name="quality" value="high" />    <param name="bgcolor" value="#869ca7" />    <param name="allowFullScreen" value="true" />    <param name="allowScriptAccess" value="sameDomain" />    <embed src="fullstate.swf" quality="high" bgcolor="#869ca7"     width="100%" height="100%" name="fullstate" align="center"     play="true"     loop="false"     quality="high"     allowFullScreen="true"     allowScriptAccess="sameDomain"     type="application/x-shockwave-flash"     pluginspage="http://www.adobe.com/go/getflashplayer">    </embed></object></noscript></body></html>

----------------------------------------

说明:

this.stage.displayState //当前舞台的播放状态

StageDisplayState.FULL_SCREEN //全屏模式

StageDisplayState.NORMAL //正常模式

StageScaleMode.NO_SCALE //全屏模式下舞台内部控件不进行缩放

HTML中一定要加上红字部分。否则会报错:

SecurityError: Error #2152: 不允许使用全屏模式。at flash.display::Stage/set displayState()

切记!

转载于:https://www.cnblogs.com/wuhenke/archive/2009/09/22/1571640.html

最新回复(0)