如何使用.js将.swf调整为全屏

时间:2011-09-20 01:38:26

标签: javascript html css flex dom

我的应用程序是在Flash Builder中构建的。我想在HTML页面中嵌入一个小的Flash登录表单。登录表单处于“登录”状态的代码,并且是几百pizxels宽/高。 “默认”状态设置为高度和宽度100%。我有一个resize函数,一旦登录收到相应的凭据就会执行。

private function resizeApplication():void {
            if(ExternalInterface.available) {
                ExternalInterface.call("resizeApplication");
            } 

执行调整大小的javascript是:

function resizeApplication() {
  var app = document.getElementById('app');
  app.style.height = '100%';
  app.style.width = '100%';
  app.style.left = '0';
  app.style.top = '0';}

#app是div,溢出在body中设置为auto。这很好用,除了我留下了靠近底部的网页的一些可见部分。我希望能够调整网页大小以匹配swf或隐藏除swf之外的所有内容。我用js尝试了一些不同的东西,包括将bottom属性设置为0并使用document.body.clientHeight的变体。

3 个答案:

答案 0 :(得分:1)

您无法将其设为“全屏”,但您可以将其填充到浏览器中。 首先,app元素应该将位置样式预先设置为fixed或absolute(取决于你的页面),因为从脚本设置它将重新加载flash对象。

如果位置固定,则使用此项:

app.style.top = '0';
app.style.left = '0px';
app.style.top = '0px';
app.style.right = '0px';
app.style.bottom = '0px';

这绝对找出视口的位置及其大小,只需移动并调整app元素的大小。

http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html

如果您只是从ActipnScript制作全屏闪光灯,那么对您来说这两种方式都不会那么容易吗?

fscommand("fullscreen", "true"); // ActionScript 2
stage.displayState = StageDisplayState.FULL_SCREEN; // ActionScript 3

答案 1 :(得分:0)

您必须手动设置div的高度,以始终如一地获得您正在寻找的效果。这与使背景图像始终填满屏幕的技巧相同。

这样的事情:

function resizeMain(){
$("#wrapper").height(window.innerHeight);
$("#background").height(window.innerHeight);
$("#background").width(window.innerWidth);
}
window.onresize = resizeMain;
$(document).ready(function(){resizeMain();});

答案 2 :(得分:0)

为什么不使用

简单地进入真正的全屏模式
StageDisplayState.FULL_SCREEN