DwにFlashパネルを実装したい(レポート)

ファイル数が多いと(1000単位)現状のDwだとファイルを検索するのが異様に面倒なので
ローカルファイルのインクリメンタルサーチ(オートコンプリート、オートサジェスト)機能とかだれか作ってないものか
Dreamweaver Exchangeを漁ってみたのだけど、それらしいものが無かったので
自分で実装してみることにした。(知ってるという方ご一報ください。)

機能拡張を作るときはいつもExchangeから自分の作りたいものに近いものをDLして
中のソースを読みつつヘルプを参照しながら改造していく感じです。

今回はインクリメンタルサーチというものを1から実装するのはきついので
YahooのASTRA AutoCompleteとか
SpryのAuto-Suggest
とか使えるか試しながらやろうと開発開始。開発環境はWin CS3。

まずSpryだけどSpryData.jsを読み込んだらエラーが出たのでこれはダメ。
JSでほかにサジェスト機能を提供しているsuggest.js – 入力補完ライブラリ
も試したがダメ。そもそもDreamweaverDOMでは要素追加するのにcreateElementはできなくてinnerHTMLかouterHTMLをつかうっぽい。
参照:Dreamweaver DOM のオブジェクト、プロパティ、およびメソッド

Dreamweaver の拡張機能での JavaScript の処理方法

拡張機能の BODY では、プラグインがサポートされています。プラグインは、常に play に設定されています。document.write() ステートメント、Java アプレット、Microsoft ActiveX コントロールは、拡張機能ではサポートされていません。

ちょっとこの時点できついのでいったん保留してFlashを使う方向で進めてみる。

Fireworks、Flashにはswfファイルでできた拡張パネルを読み込んで使えるのでDwでもあるかと探したら
Flash Expression Panelというのがでてきた。
中をのぞいてみると、

dw.newFlashFloater(swfpath, floatername, [groupname],[tabname],[scalemode],[dockside],[isTarget])

のような書き方でflashファイルをロードできるらしい。(がドキュメントにも載っておらず、newFlashFloaterでぐぐったら出てきたくらい。MX時代のものらしい)
でまねしてやってみるもswfからExternalInterfaceでcallしてみるもうんともすんとも言わない。<今ここ

AS3のswfファイルだとだめなのか、DwがC++ランタイムエラーをはいて落ちたり
これもイレギュラーな方法なんかなぁ。とあきらめていると
どうやらCS4からFlashパネル作成に関するサポート関数が出来たようだ。
参照:Adobe Dreamweaver * Flash panels and dialogs functions

とりあえずCS4でうまくいくのかどうか試したい。
あとCS3以下でもやる方法が無いのか引き続き調査していきたい。

今年はなぜか機能拡張が自分の中で熱かったなぁ。
皆さんよいお年を~

関連する記事:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

名前 *