SWFSize
SWFForceSizeの「車輪」。 HTML 上での最小サイズ、最大サイズを設定出来ます。 最小サイズを下回るとブラウザのスクロールが表示されます。また最大サイズを越えると swf コンテンツを最大サイズで固定します。
ライセンス
とりあえず以下のライセンスを適応させています。
ソースコード
使い方
JavaScriptのコードはActionScript側に埋め込んであるため、個別にJavaScriptファイルを読み込ませる必要はありません。
- しかるべき場所にインポート。
- 最小サイズと必要であれば最大サイズを引数に渡してinitializeをコール。
import org.libspark.ui.SWFSize; // 最小サイズを設定 SWFSize.initialize(640, 480); // 最小サイズ・最大サイズを設定 SWFSize.initialize(640, 480, 1024, 768);
- ロジック内でExternalInterface#objectIDを使用してますので、HTML上ではobjectタグにはname属性・id属性の両方を、embedタグにはname属性を明示的に指定するようにしてください。
その他
外部ドメインからの読み込み
SWFSizeを使ったswfファイルを、外部ドメインから読み込む場合、HTML側とActionScript側の両方でExternalInterfaceの動作を明示的に許可する必要があります。
- HTML側にて、paramタグ及びembedタグでallowScriptAccessの値にalwaysを指定する。
- ActionScript?側にて、Security.allowDomain等で許可するドメインを指定する。
詳しくはHTML と SWF のドメインが異なると SWFWheel がエラーの方も併せてご覧ください。
swfobject 2
- attributesでidとnameを指定します。
- ExternalInterface#objectIDの挙動が、ブラウザによって違うらしく、objectタグであっても、FirefoxやSafariではname属性を見るようです。
var flashvars = {};
var params = {};
var attributes = {
id: "myDynamicContent",
name: "myDynamicContent"
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
バグ・不具合
バグ・不具合を発見された方、意見・要望等をお持ちの方は、気軽にチケット登録して頂けるとありがたいです。 その際には、お使いの環境を一緒に記載して頂けると助かります。 また、SWFSizeはメンテナ・テスタになってもらえる方を募集しています。全てのブラウザをサポート出来たら素敵だと思いませんか?

