SWFMacMouseWheelがバグってるメモ

t-matsuda 氏と AS3.0 MouseWheel on Mac OS X を触る必要があったんだけども、 なぜかwindowsでエラー吐くので調べてみたよ。

エラー内容を見てみると、 どうやら SWFMacMouseWheelregisterObject ってメソッドが無いらしい。 それはさすがにアリエナイだろ。って思ってソースを見てみたら、 swfmacmousewheel_src.js の20行目あたりに、ものっすごいのが書いてあった!

var swfmacmousewheel = function()
{
    if( !swfobject ) return null;

    var u = navigator.userAgent.toLowerCase();
    var p = navigator.platform.toLowerCase();
    var mac = p ? /mac/.test(p) : /mac/.test(u);

    //  この1行がアリエナイ。
    if( !mac ) return null;

    // 処理がつづく...

    //  Macだとここが実行される。
    return {
        /*
        Public API
        */
        registerObject: function(objectIdStr)
        {
            regObjArr[regObjArr.length] = objectIdStr;
        }
    };
}();

この実装はどうなんだ? そりゃ registerObject なんてメソッド無いだろうよ。 windowだと swfmacmousewheel の中身がnullになるよ!

このあと、なんだかんだ修正しまくったんだけども、 とりあえずのやっつけなのであれば、

if ( !mac ) return null;

のところを、

if ( !mac ) return {
    registerObject: function () {}
};

って変えてあげればエラーは消えるよ。 本当にやっつけだけども。 他にも色々と問題があったりなかったりなので、 デフォルトのまま使うのであれば、注意したほうが良いかもね :-P

Posted at: 
2008/04/01 14:31:09
0 Comments
1 TrackBack
Tags: 
Flash
JavaScript
Mac
Trackback: 
http://humming.via-kitchen.com/2008/04/01/swfmacmousewheel-bug-memo/trackback/

TrackBacks

[CSS][HIGE][その他]巡回 - 常山日記

にいがた酒の陣 2008 [photoshopチュートリアル]web2.0サイトのレイアウト [HTML/CSS][携帯] 携帯サイトについて 汚した感じのグランジ風テクスチャ素材 -Grunge Textures フリーで使えるDBのモデリングツールまとめ Google Mapsをオフラインで使う「Gmapcatcher」 Google

Created at: 
2008/04/01 18:06:02

Comments

まだ登録されていません。

Add Comment

Add Comment