オリジナルメニューでビューを切り替える

Adobe製品はメニューなどのカスタマイズをする余地が少ないので、このメニューがあったら便利なのに、ということが多々あります。(最近ではキーボードショートカットなどはカスタマイズできるようになってきていますが)
GoLive CS2は他のAdobe製品同様JavaScriptを使うことで様々な機能の追加を行うことができます。また、Adobe製品には珍しくメニューを自由に追加することができるようになっています。そこで今回は開かれているドキュメントの表示モードを切り替えるためのオリジナルメニューを作成してみました。
以下が実際のスクリプトになります。

<html>
<head>
<title>Main</title>
</head>
<body>
<jsxmodule name="OpenSpace0001">
<script>
function initializeModule(){ // メニューイベント設定
menubar["viewMenu"].items["Item1"].addEventListener("menuSignal",setViewMode1);
menubar["viewMenu"].items["Item2"].addEventListener("menuSignal",setViewMode2);
menubar["viewMenu"].items["Item3"].addEventListener("menuSignal",setViewMode3);
}
function setViewMode1(){ // レイアウトモード
var n = documents.length;
for (i=0; i<n; i++) documents[i].view = "layout";
}
function setViewMode2(){ // フレームレイアウトモード
var n = documents.length;
for (i=0; i<n; i++) documents[i].view = "frame";
}
function setViewMode3(){ // ソースモード
var n = documents.length;
for (i=0; i<n; i++) documents[i].view = "source";
}
</script>
<jsxmenubar>
<jsxmenu name="viewMenu" title="ビューモード">
<jsxitem name="Item1" title="レイアウトモード">
<jsxitem name="Item2" title="フレームレイアウトモード">
<jsxitem name="Item3" title="ソースモード">
</jsxmenu>
</jsxmenubar>
<p></p>
</body>
</html>

見ると普通のHTMLとそっくりです。そっくりというか、そのまま(X)HTMLコードでGoLive CS2独自タグでメニューを構築しているだけです。最初のメニューイベント設定部分でメニュー項目が選択された場合に呼び出すJavaScriptの関数を指定します。menubar["viewMenu"]とitems["Item1"]で指定している名前は<jsxmenubar>、<jsxmenu>で指定した名前と一致させる必要があります。実際にメニューとして表示する文字はtitle属性で指定します。タグを入れ子にすることで階層化メニューもできます。日本語を扱う場合に限らず文字コードはUTF-8で保存してください。

上記サンプルではレイアウトモード、フレームレイアウトモード、ソースモードの3つですが、

for (i=0; i<n; i++) documents[i].view = "layout";

のlayoutの文字を変更することで以下の表示モードも指定することができます。

layout レイアウト
frame フレームレイアウト
source HTMLソース
outline アウトライン
preview プレビュー
unknown レイアウト可能でない

スクリプトができあがったらGoLive CS2フォルダ内にあるmoduleフォルダ→Extend Scriptsに適当な名前のフォルダを作って、そこにMain.htmlという名前で保存します。あとはGoLive CS2を起動します。表示メニューの右側に作成したメニュー項目が表示されていればOKです。




[サンプルをダウンロード]