我正在尝试使用swfobject 2.2来显示swf,但swf不会缩放以适应我所放入的div。你可以看到我得到了什么here。
首次加载时,尺寸合适,然后由于某种原因扩大。 如果我右键点击影片并选择“全部显示”,那么它就非常适合。
以下是生成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);
非常感谢任何帮助/建议!
答案 0 :(得分: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。
答案 1 :(得分: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”:整个应用程序是固定的,因此即使播放器窗口的大小发生变化,它也会保持不变。如果播放器窗口小于内容,则可能会出现裁剪。
答案 2 :(得分:0)
答案 3 :(得分:0)
由于TestPlanManagement.com正确回答,Jing视频无法缩放。但是可以改变SWF以允许这种情况。见Resizing embedded screencasts with TechSmith Jing。商业Action Script Viewer用于更改SWF中的常量。
答案 4 :(得分:-1)
如果要将stageScaleMode设置为noScale,请检查已加载的swf代码。这是我问题的根源。