« DIRECTORS LABEL 4+1枚組スペシャル・パック | メイン | del.icio.usのmp3対応 »

Flashでウィンドウサイズの可変表示

問題:
Flashでパブリッシュの「サイズ:100%表示」+「伸縮:拡大・縮小なし」にして、ページの長さが変化するデザインにしたとき、ブラウザのスクロールバーが出ないため、下の方のコンテンツが閲覧できない。

はじめ、fscommandを使ってjavascriptにコンテンツの高さを渡そうと思って失敗。fscommandはMacのFirefox(僕のメインブラウザ)で動かず。htm側でflame切ったりcssいじったり、あれこれしてもうまくいかず。

結局、コンテンツが表示されたタイミングでActionScript側に以下のようかんじでJavascriptに値を渡し、

getURL("javascript:chageStageSize("+全てのコンテンツの合計の高さ+");");

HTML側に以下のようなJavaScriptを追加するとオーケー。

<script language="JavaScript">
<!--
function chageStageSize(arg){
document.body.style.height = arg;
}
//-->
</script>

これだと、上記のパブリッシュ設定でも、ページの長さに合わせてブラウザのスクロールバーが出ようになる。
body要素だけじゃなくて、div要素の高さをいじったりも出来るはず(多分)。
リストページとか、Blogとか、RSSリーダーみたいなのをフルFlashで作るときに便利です。

[追記]
document.body.styleはwindowsのIEでだめみたいです。
document.getElementById('divのID').style.heightでオーケみたいです。

トラックバック

このエントリーのトラックバックURL:
http://www.minfish.jp/blog/mt-tb.cgi/62