(English page)

SWFSize

SWFForceSizeの「車輪」。 HTML 上での最小サイズ、最大サイズを設定出来ます。 最小サイズを下回るとブラウザのスクロールが表示されます。また最大サイズを越えると swf コンテンツを最大サイズで固定します。

ライセンス

とりあえず以下のライセンスを適応させています。

ソースコード

使い方

JavaScriptのコードはActionScript側に埋め込んであるため、個別にJavaScriptファイルを読み込ませる必要はありません。

  1. しかるべき場所にインポート。
  2. 最小サイズと必要であれば最大サイズを引数に渡してinitializeをコール。
     import org.libspark.ui.SWFSize;
     
     //  最小サイズを設定
     SWFSize.initialize(640, 480);
     
     //  最小サイズ・最大サイズを設定
     SWFSize.initialize(640, 480, 1024, 768);
    
  3. ロジック内でExternalInterface#objectIDを使用してますので、HTML上ではobjectタグにはname属性・id属性の両方を、embedタグにはname属性を明示的に指定するようにしてください。

その他

外部ドメインからの読み込み

SWFSizeを使ったswfファイルを、外部ドメインから読み込む場合、HTML側とActionScript側の両方でExternalInterfaceの動作を明示的に許可する必要があります。

  1. HTML側にて、paramタグ及びembedタグでallowScriptAccessの値にalwaysを指定する。
  2. ActionScript?側にて、Security.allowDomain等で許可するドメインを指定する。

詳しくはHTML と SWF のドメインが異なると SWFWheel がエラーの方も併せてご覧ください。

swfobject 2

  • attributesidnameを指定します。
  • 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はメンテナ・テスタになってもらえる方を募集しています。全てのブラウザをサポート出来たら素敵だと思いませんか?