[ flash ] ExternalInterfaceでのホイールの罠、でもないか - 08/05/26 15:05
flashコンテンツをマウスホイールに対応させる際にExternalInterfaceを使ってjsを呼ぶ必要があるけど、要らなくなったらjsの方を消しておきましょうって話。
jsからの戻りを受け取る器が常にあって、コンテンツの高さなどのフラグで管理する場合は問題ないけど、メインのswfではExternalInterfaceを使わず、外部のswfで使う場合は、そのswfを消す時にjsの方も初期化等の処理が必要。
某フルフラッシュの案件が、親となるメインのswfではホイールが要らないけど、外部読み込みになるコンテンツのswfは高さが可変なのでスクロールバーが出るものだった。んで、そのコンテンツ内でのホイール機能は大丈夫だったんだけど、別コンテンツに移動した時に何となくホイールをグリってやったらブラウザが落ちた。
IE, FireFox, Safari, Operaで落ちたので多分どこでも落ちる。
ExternalInterfaceの後、jsから呼ばれるswf内の関数が削除の際に無くなったからのようで、swfが消えてもjsが生き続けて、よくわからん関数を叩いてドーンってなってた。
なので、必要が無くなったらjsの方も初期化なり何なり、必要な処理をしておきましょう。
« [ 雑記 ] エクセルファイルが嫌い | ブログトップ | [ 雑記 ] 朝イチって何時よ? »
トラックバックURL :
コメント投稿
(´・ω・`) flash表示できんよ。