WindowsとMacでAdobe Flashの挙動が違って四苦八苦しました
わかってみれば、変数のチェックを行っていなかったことと、異なる環境での動作確認をしていなかったことが原因でした。
photo credit: buggolo via photopin cc
Macで動作しない
WindowsのChromeで動作を確認し、WindowsのInternet Explorerでも動作を確認したFlashがあります。作成してから1ヶ月以上経ってから、Macではある機能が動作しないことに気づきました。
Macで細かく確かめてみると、確かにある機能だけ動作していません。
FlashはFlash Player上で動作するので、OSの違いによる影響はないだろうと思っていましたが、違っていました。
未定義変数のチェックを追加して動作するように
どこで動作していないのかは、現象が再現したのですぐに把握できました。パラメータとして値を渡される場合と値を渡されない場合があり、値を渡されなくてもWindowsでは動作していますが、Macでは動作していません。
値を渡されないと、未定義の変数を参照することになり、Macでは動作が期待どおりになりません。
未定義の変数だけれどnullとは比較できたので、if文で変数の値がnullか判定して初期値を設定するように修正したら、Macでも期待どおりの動作をするようになりました。
まとめ
冒頭にも書きましたが、の2点がありました。
今後Flashを修正する際は、この2点を確実に確認していくようにします。