Хитрость заключается в том, чтобы использовать простой 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
);
Анонимная функция должна просто передавать идентификатор и высоту в качестве параметров, а не объединять их в строку JavaScript.
Я думаю, что JavaScript довольно кроссплатформенный. Если вы хотите увидеть живой пример, посмотрите на этот сайт: talkoftheweather.com . Может показаться, что он ничего не делает, но он автоматически изменяет размер фильма Flash, чтобы вместить все новостные элементы (это происходит сразу после загрузки новостей, что делается так быстро, что вы этого не замечаете). Изменение размера заставляет браузер отображать вертикальную полосу прокрутки.