SWFWheel
SWFMacMouseWheelがちょっとしっくり来ない人のためのライブラリ。
ライセンス
とりあえず以下のライセンスを適応させています。
使用される環境に合ったライセンスを選んで頂いてかまいません。
ソースコード
対応ブラウザ
以下のブラウザでの動作を確認しております。
Windows
- IE 6 => 8
- Firefox 2 => 3.6
- Safari 3 => 5
- Opera 9 => 10.6
- Chrome 0.3 => 6.0
Mac OSX
- Firefox 2 => 3.6
- Safari 2 => 5
- Opera 9 => 10.6
- Camino 1.6 => 2.0
- Stainless 0.4 => 0.7
使い方
JavaScriptのソースコードはActionScriptに埋め込んであるため、個別にJavaScriptファイルを読み込ませる必要はありません。
- しかるべき場所にインポート。
- Stageのインスタンスを引数に渡してinitializeメソッドをコール。
import org.libspark.ui.SWFWheel; SWFWheel.initialize(stage);
- ブラウザのスクロールを止めたい場合はbrowserScrollプロパティにfalseを設定。
SWFWheel.browserScroll = false;
- ロジック内でExternalInterface#objectIDを使用してますので、HTML上ではobjectタグにはname属性・id属性の両方を、embedタグにはname属性を明示的に指定するようにしてください。
その他
外部ドメインからの読み込み
SWFWheelを使った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: "externalDynamicContent",
name: "externalDynamicContent"
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
バグ・不具合
バグ・不具合を発見された方、意見・要望等をお持ちの方は、気軽にチケット登録して頂けるとありがたいです。 その際には、お使いの環境を一緒に記載して頂けると助かります。 また、SWFWheelはメンテナ・テスタになってもらえる方を募集しています。全てのブラウザをサポート出来たら素敵だと思いませんか?

