我有一个带有加载文本的swf到一个Sprite中,根据放入的内容调整大小 - 我喜欢那些比页面更长的浏览器使用其原生滚动条而不是在actionscript中处理它(非常很像http://www.nike.com/nikeskateboarding/v3/ ...)
我确实看过nike做过的东西但是却无法将其拉下来.有任何想法吗?
诀窍是使用一些简单的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是相当跨平台的.如果你想看一个现场的例子,请看这个网站:talkoftheweather.com.它可能看起来不像它做任何事情,但它会自动调整Flash电影大小以适应所有新闻项目(它只是在加载新闻后才会这样做,这样做很快就会发现它没有发生).调整大小会强制浏览器显示垂直滚动条.