如何在运行时调整swf的大小,以使浏览器创建html滚动条?

时间:2020-03-05 18:44:33  来源:igfitidea点击:

我有一个swf,可将文本加载到Sprite中,然后根据所输入的内容调整大小例如http://www.nike.com/nikeskateboarding/v3 / ...)

我确实看过耐克所做的事情,但无法实现。有任何想法吗?

解决方案

回答

我从来没有那样做过,但我认为swffit可能可以实现它。

回答

我半看了一下swffit,但是高度(有时是宽度,但主要是高度)是动态的swffit,让我们声明一个maxHeight,但是这个数字会不断变化……也许我可以弄清楚如何动态设置它。我感谢的好地方!

回答

我一直在使用if的目的是限制制作"全浏览器" flash的大小,因此效果很好。
骇客入侵!

(并且不要忘了在这里发布发现,我可能过早需要它;)

回答

诀窍是使用一些简单的JavaScript来调整Flash DOM节点的大小:

function resizeFlash( h ) {
    // "flash-node-id" is the ID of the embedded Flash movie
    document.getElementById("flash-node-id").style.height = h + "px";
}

从Flash电影中调用的方式如下:

ExternalInterface.call("resizeFlash", 400);

实际上,我们不需要外部具有JavaScript代码,如果需要,可以从Flash进行所有操作:

ExternalInterface.call(
    "function( id, h ) { document.getElementById(id).style.height = h + 'px'; }",
    ExternalInterface.objectID,
    400
);

匿名函数只是能够将ID和height作为参数传递,而不是将它们串联到JavaScript字符串中。

我认为JavaScript是相当跨平台的。如果我们想查看现场示例,请访问以下站点:talkoftheweather.com。它可能看起来好像什么都没做,但是会自动调整Flash电影的大小以容纳所有新闻项(它是在加载新闻后立即执行的,此过程是如此之快,以至于我们不会注意到它的发生)。调整大小会强制浏览器显示垂直滚动条。

回答

SWF大小

有关更多详细信息,请参见此处。

Intuitsolutions.ca