swfobjectが 2.2 になったので(だいぶ前?)、試しました。また、swfforcesize の扱いが難しいので検証しました。
ちょっと不具合があって、今すぐは無理っぽいです。FlashPlayer のバージョン判定がおかしいのか、満たない場合に expressinstall.swf が動いてくれないです。ちなみに、Flash Switcher で検証しました。
ダウンロードは下記のページからできます。
設置の仕方を誤ると、IE6 で最大サイズ以外で開いたときに、swfforcesize 自体の中、サイズの取得部分で無限ループを起こしてしまいます。これが厄介です。
swfforcesize を少しいじって修正する方法( 実行にdelayをつける )もありますが、HTML、CSS をきっちり設定すれば回避できるので今回は控えました。
そこで、HTML / JS / CSS の書き方は Progressionを参考にしました!
swfobject.addLoadEvent(function()
{
var obj = document.getElementById("flashContent");
if(obj)
{
var forcesize = new SWFForceSize(obj, 1024, 768);
forcesize.onLoadDiv();
}
})
progression.jsを参考にしました。あと、new した後に onLoadDiv() を呼ばないと、開いた瞬間に作動してくれないです。
html {height: 100%; overflow: auto;}
body {margin: 0; padding: 0; height: 100%; width: 100%;}
#flashContent {position: absolute; top: 0px; left: 0px; height: 100%; width: 100%; line-height: 0;}
これらはちゃんと指定してないと動いてくれないです。特にポイントは line-height です。
<?xml version="1.0" encoding="UTF-8"?>
XML宣言が無いとうまく動きませんでした。
あと、代替コンテンツ部分で ie7.js や 、PNG を IE6 で使うための JS を使ってもうまく動きませんでした。
う?ん。swfforcesize は本当に難しいです。。
http://web.dimension-maker.info/cgi-bin/mt/webdimensionmaker/154