名古屋でホームページ制作とFlash eternity design BLOG

FlashとThickBox

FlashからThickBoxを呼び出す方法。
以下、AS3の場合

// いろいろと省略してますよ。
package {
    import flash.external.ExternalInterface;
 
    public class viewThickBoxBtn extends MovieClip {
        public function viewThickBoxBtn() {
            addEventListener(MouseEvent.CLICK, clickBtnEvent);
        }
 
        private function clickBtnEvent(e:Event) {
            ExternalInterface.call("tb_show", thickBoxTitle, thickBoxUrl);
        }
    }
}

とExternalInterface.callでtb_showを指定します。
引数にタイトル、URL(画像やらHTMLや)と指定します。
URLの部分はHTMLでThickBox用のリンクを記述するときと同じものです。
tb_showには3つ目の引数もあるのですが、
こいつはたぶん、画像のグループ化です。
でも、SWFObjectなどを使って裏でHTMLのコードでThickBox用のリンクを記述しておかないと
動作しないんじゃないかなと思います。たぶん。試してないけど。
グループ化以外は普通にASに記述するだけで使えます。
また、Flashの上にHTMLレイヤーが置かれることになるのでwmodeの指定をしないとだめかと思われます。
wmodeを利用することの弊害も考える必要があるかと思います。
久しぶりにそれなりの内容のエントリでした。

Movable Type 4とThickBox

MT4リリース時から軽くテストしていまして、テンプレートの構成が全然違うから移行面倒だなぁと思っていたんですが、ためしに、3.35の環境からアップデートしたら、あっさりいっちゃったのでここでもMT4に移行しました。

で、前にも制作していましたが、今回も画像ポップアップを選択したときにThickBoxのタグを書き出すように該当部分を書き換えました。

ほしいひとは持っていってください。

続きを読む

SWFObjectとThickBox

先日からこのサイトでも利用し始めたSWFObjectと前々から利用していたThickBoxですが、
同時に使用するとThickBoxが機能しなくなるという問題が発生しました。
どうも必ず発生するというわけではなさそうで、どのような条件で発生するのかわかりませんが、
症状が出るHTML(ページ)では必ず問題が出ます。
一応、”逃げ”の解決策ですが、SWFObjectのso.writeとか記述するJavaScript部をページ内のすべてのThickBoxリンクの後に記述することで問題が出ないようです。
ただ、この方法だとSWFObjectの実行が遅くなってしまうので、一瞬JavaScript書き換え前のHTMLが表示されてしまいます。
あー、ThickBoxとJQueryのどちらが問題なのかはわかりません。
もっと根本的な修正をしたい。(どっかのすごい人まかせ)

About me

名古屋を中心に、フリーランスでホームページ制作してます。 デザイン・サイト制作・Flash制作と幅広く対応可能です。 案件のご依頼・ご相談はお問い合わせよりご連絡ください。