2

我正在尝试使用 swfobject 2.2 来显示 swf,但 swf 无法缩放以适应我放入的 div。你可以看到我在这里得到了什么。

当它第一次加载时,它的大小是正确的,然后由于某种原因它会膨胀得更大。 如果我右键单击电影并选择“全部显示”,那么它非常适合。

这是生成 sfobject 的代码:

var flashvars = {};
var params = {}
params.scale = "showAll";
params.allowscriptaccess = "always";
var attributes = {};                    
swfobject.embedSWF("/content/tour.swf", 
"flashContent", "900", "700", "9.0.0", "expressInstall.swf", 
                       flashvars, params, attributes);

任何帮助/建议将不胜感激!

4

5 回答 5

0

我能想到的最快的事情就是将宽度设置为 100%。我已经测试过,它似乎工作正常:

截图链接 全屏宽度

Lars 已经发布了所有可用的替代方案。

HTH,乔治

于 2010-04-10T02:15:27.350 回答
0

要使 div 的大小设置为 swf(或者更确切地说是 Flash Player)的大小,您可以在 swfobject.embedSWF() 调用中使用“100%”作为大小,而不是像素大小。

swfobject.embedSWF("/content/tour.swf", "flashContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

要使用的另一个参数是scale. 替代方案是:

  • “showAll”:整个应用程序在指定区域可见,不失真,同时保持应用程序的原始纵横比。边框可以出现在应用程序的两侧。

  • “exactFit”:整个应用程序在指定区域可见,而不试图保留原始纵横比。可能会发生变形,并且应用程序可能会出现拉伸或压缩。

  • “noBorder”:整个应用程序填充指定区域,不失真但可能有一些裁剪,同时保持应用程序的原始纵横比。

  • “noScale”:整个应用程序是固定的,因此即使播放器窗口的大小发生变化,它也保持不变。如果播放器窗口小于内容,则可能会发生裁剪。

于 2010-04-06T21:45:31.493 回答
0

正如TestPlanManagement.com 正确回答的那样,Jing 视频无法缩放。但是可以更改 SWF 以允许这样做。请参阅使用 TechSmith Jing 调整嵌入式截屏视频的大小。商业动作脚本查看器用于更改 SWF 中的常量。

于 2012-11-27T19:05:13.857 回答
0

您需要添加一些额外的脚本,如下所示:

function resizeFlashDiv()
{
        var theDiv = document.getElementById("navContainer");

        var theHeight = Math.floor(theDiv.offsetWidth * .33625) + 50; // add
the variable portion plus the fixed portion of the Flash

        theDiv.style.height = theHeight + "px";

}

这将使您的 SWF 填充 DIV。

于 2010-02-16T21:10:19.127 回答
-1

如果您将 stageScaleMode 设置为 noScale,请检查您加载的 swf 代码。那是我问题的根源。

于 2010-04-27T23:51:37.027 回答