2011-08-12 47 views
1

我希望我的SWF,以填补浏览器窗口,但它不是在Chrome/FireFox中工作,除非用户手动调整大小的浏览器。如何让Flash影片剪辑在Chrome中自动转到完整浏览器?

我使用Adobe的默认情况下,生成的html + swfobject.js显示我的SWF。在html中,我用100%替换了所有flashcontent的高度和宽度。

不幸的是,在Chrome当你第一次打开网页闪存影片剪辑没有填满浏览器,而是保留它的默认高度和宽度。如果用户调整浏览器窗口大小,一切正常。

有一个javascript招什么我可以做,使闪存认为它正在调整?

谢谢!

澄清: 我想我的第一个问题并不清楚。我从不希望滚动条出现。我希望我的应用能够完美地扩展和填充浏览器窗口 - 如果浏览器很小,我希望它变得非常小,如果浏览器很大,我会希望它变得非常小。基本上,我希望我的应用程序像普通的Windows应用程序(如Visual Studio)一样运行,但在浏览器中运行。

回答

0

在Firefox和Chrome,swfobject的不会引发闪光灯侧的Event.RESIZE事件,当SWF第一次运行。以下是我用于在启动时和每次调整大小时将我的应用程序调整到完整浏览器的新代码。基本上,它会在应用程序第一次加载时触发虚假的调整大小。

private function initializeStage():void 
    { 
     this.stage.align = StageAlign.TOP_LEFT; 
     this.stage.scaleMode = StageScaleMode.NO_SCALE; 
     this.stage.addEventListener(Event.RESIZE, stageResizeHandler); 
     this.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); 
    } 

    private function addedToStageHandler(event:Event):void 
    { 
     this.removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); 
     stageResizeHandler(null); 
    } 

    private function stageResizeHandler(event:Event):void 
    { 
     if (this._frameContainer != null) //_frame container is the sprite that contains my entire application. 
     { 
      this._frameContainer.width = this.stage.stageWidth; 
      this._frameContainer.height = this.stage.stageHeight; 
     } 
    } 
0

退房SWFFIT - 它是建立在SWFObject的顶部和一个伟大的全浏览器的脚本

+0

谢谢! SWFFIT并未完全解决问题本身 - SWFFIT通过将滚动条居中/添加到固定大小的SWF内容来工作。我想要动态大小的内容,如果浏览器在舞台上变得更大的话。然而,看着SWFFIT代码告诉我,SwfObject的不触发启动阶段Event.RESIZE事件(IE除外) - 所以,我添加了代码以一次调整对Event.ADDED_TO_STAGE,每次Event.RESIZE我的精灵现在一切正常。谢谢回答! – DoomGoober

+0

你可以用swffit做100%100%,并设置一个额外的最小宽度,然后显示滚动条 – pkyeck

相关问题