我有一个 swf,将文本加载到 Sprite 中,该 Sprite 根据放入的内容调整大小 - 我希望对于那些比页面长的内容,让浏览器使用其本机滚动条,而不是在动作脚本中处理它(非常很像 http://www.nike.com/nikeskateboarding/v3/...)

我确实看过耐克所做的事情,但就是没能成功。有任何想法吗?

有帮助吗?

解决方案

我从来没有这样做过,但我想 斯菲特 也许能够成功。

其他提示

诀窍是使用一些简单的 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 和高度作为参数传入,而不是将它们连接到 JavaScript 字符串中。

我认为 JavaScript 是相当跨平台的。如果您想查看实例,请查看此站点: 天气谈话网. 。它可能看起来好像没有做任何事情,但它会自动调整 Flash 影片的大小以容纳所有新闻项目(它在加载新闻后立即执行此操作,速度如此之快以至于您没有注意到它的发生)。调整大小会强制浏览器显示垂直滚动条。

我半途查看了 swffit,但高度(有时还有宽度,但主要是高度)将是动态的 - swffit 让您声明 maxHeight,但该数字会不断变化......也许我可以弄清楚如何动态设置它。不过,这对我来说是一个很好的起点 - 谢谢!

我主要使用 if for 来限制“完整浏览器”flash 的大小,为此它效果很好。快乐黑客!

(不要忘记在这里发布你的发现,我可能很快就需要它;))

SWF大小

这里 更多细节。

Intuitsolutions.ca

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top