<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet href="help.css" type="text/css" title="Help Style"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
	<link rev="made" title="made by Piro(SHIMODA Hiroshi)" href="mailto:piro.outsider.reflex@gmail.com"/>
	<title>コンテキストメニュー拡張：付録</title>
	<link rel="start" href="help.xml"/>
</head>
<body>

<ul id="page-menu" class="header">
	<li><a href="help.xml">目次</a></li>
	<li><a href="help-installation.xml">導入・削除について</a></li>
	<li><a href="help-features.xml">機能</a></li>
	<li><a href="help-prefs.xml">設定</a></li>
	<li>付録</li>
</ul>

<h1 id="top">付録</h1>

<ul>
	<li><a href="#shortcuts">キーボードショートカット一覧</a></li>
	<li><a href="#shortexpressions">短縮構文の一覧</a></li>
	<li><a href="#samplescripts">サンプルスクリプトの説明</a></li>
	<li><a href="#tips">便利な使い方</a></li>
</ul>



<h2 id="shortcuts">キーボードショートカット一覧</h2>

<table border="1" summary="">
	<colgroup>
		<col class="key"/>
		<col class="description"/>
	</colgroup>
	<thead><tr><th>キー</th><th>機能</th></tr></thead>
	<tbody>
		<tr><th colspan="2">Navigatorウィンドウ</th></tr>
		<tr><td>Alt + S</td>
			<td><samp>スタイルシート</samp>メニューを開く</td></tr>
		<tr><td>Alt + O</td>
			<td><samp>アウトライン</samp>メニューを開く</td></tr>
		<tr><td>Alt + N</td>
			<td><samp>ナビゲーション</samp>メニューを開く</td></tr>
		<tr><td>Alt + A</td>
			<td><samp>アプリで開く</samp>メニューを開く</td></tr>
		<tr><td>Alt + C</td>
			<td><samp>カスタムスクリプト</samp>メニューを開く</td></tr>
		<tr><td>S</td>
			<td>次の見出しへ</td></tr>
		<tr><td>W</td>
			<td>前の見出しへ</td></tr>
		<tr><td>A or Ctrl(Command)+↓</td>
			<td>次のリンク</td></tr>
		<tr><td>Q or Ctrl(Command)+↑</td>
			<td>前のリンク</td></tr>
		<tr><td>Ctrl(Command) + J</td>
			<td>リンクの一覧をコピー</td></tr>
		<tr><td>Alt + Back Space</td>
			<td>一つ上の階層へ</td></tr>
		<tr><td>T</td>
			<td>ナビゲーション：トップ</td></tr>
		<tr><td>U</td>
			<td>ナビゲーション：上へ</td></tr>
		<tr><td>F</td>
			<td>ナビゲーション：最初のページ</td></tr>
		<tr><td>P</td>
			<td>ナビゲーション：前のページ</td></tr>
		<tr><td>N</td>
			<td>ナビゲーション：次のページ</td></tr>
		<tr><td>L</td>
			<td>ナビゲーション：最後のページ</td></tr>
		<tr><td>C</td>
			<td>ナビゲーション：目次</td></tr>
		<tr><td>1</td>
			<td>ナビゲーション：章</td></tr>
		<tr><td>2</td>
			<td>ナビゲーション：節</td></tr>
		<tr><td>3</td>
			<td>ナビゲーション：項</td></tr>
		<tr><td>X</td>
			<td>ナビゲーション：付録</td></tr>
		<tr><td>G</td>
			<td>ナビゲーション：用語集</td></tr>
		<tr><td>I</td>
			<td>ナビゲーション：索引</td></tr>
		<tr><td>?</td>
			<td>ナビゲーション：ヘルプ</td></tr>
		<tr><td>H</td>
			<td>ナビゲーション：検索</td></tr>
		<tr><td>@</td>
			<td>ナビゲーション：制作者</td></tr>
		<tr><td>R</td>
			<td>ナビゲーション：著作権</td></tr>
		<tr><td>B</td>
			<td>ナビゲーション：ブックマーク</td></tr>
		<tr><td>O</td>
			<td>ナビゲーション：別バージョン</td></tr>
	</tbody>
	<tbody>
		<tr><th colspan="2">JavaScriptパネル</th></tr>
		<tr><td>Ctrl(Command) + W</td>
			<td rowspan="2">閉じる</td></tr>
		<tr><td>Ctrl(Command) + Q</td></tr>
		<tr><td>Ctrl(Command) + R</td>
			<td>実行</td></tr>
	</tbody>
	<tbody>
		<tr><th colspan="2">サイト別ユーザースタイルの編集</th></tr>
		<tr><td>Ctrl(Command) + S</td>
			<td>保存</td></tr>
		<tr><td>Ctrl(Command) + W</td>
			<td rowspan="2">閉じる</td></tr>
		<tr><td>Ctrl(Command) + Q</td></tr>
		<tr><td>Ctrl(Command) + R</td>
			<td>再読み込み</td></tr>
	</tbody>
	<tbody>
		<tr><th colspan="2">スタイルシートマネージャ</th></tr>
		<tr><td>Ctrl(Command) + W</td>
			<td rowspan="2">閉じる</td></tr>
		<tr><td>Ctrl(Command) + Q</td>
			</tr>
		<tr><td>Ctrl(Command) + R</td>
			<td>再読み込み</td></tr>
		<tr><td>Ctrl(Command) + E</td>
			<td>編集</td></tr>
	</tbody>
</table>




<h2 id="shortexpressions">短縮構文の一覧</h2>

<p>カスタムスクリプトおよびJavaScriptパネルでは、Netscape/Mozillaの内部仕様を知らない人でも簡単にスクリプトを作成できるように、以下の参照や関数をあらかじめ用意しています。</p>


<h3>定数・値・参照</h3>
<dl>
	<dt><code>XHTMLNS</code></dt>
	<dt><code>XLinkNS</code></dt>
	<dt><code>XULNS</code></dt>
		<dd><p>各々、XHTML 1.0/1.1・XLink 1.0・XULの名前空間を示す文字列です。</p></dd>

	<dt><code>_window</code></dt>
		<dd><p>閲覧中のドキュメント（フレームを使ったページの場合は現在のフレーム）のグローバルオブジェクト（<code>Window</code>オブジェクト）への参照です。</p></dd>

	<dt><code>_window.document.navigations</code></dt>
		<dd><p><p>ナビゲーションとして認識されているlink要素・a要素の一覧が収められた配列で、以下のプロパティがあります。</p>
		<dl>
			<dt><code>length</code></dt>
				<dd><p>ナビゲーション用リンクの数</p></dd>
			<dt><code>[<var>n</var>].elemType</code></dt>
				<dd><p>そのリンクの要素タイプ（文字列）。link要素なら<samp>navigation</samp>、a要素なら<samp>anchor</samp>です。</p></dd>
			<dt><code>[<var>n</var>].href</code></dt>
				<dd><p>そのリンクのリンク先。</p></dd>
			<dt><code>[<var>n</var>].substance</code></dt>
				<dd><p>そのリンクの要素そのもの。</p></dd>
		</dl>
		</p></dd>

	<dt><code>_window.document.headings</code></dt>
		<dd><p><p>見出し要素の一覧が収められた配列で、以下のプロパティがあります。</p>
		<dl>
			<dt><code>length</code></dt>
				<dd><p>ナビゲーション用リンクの数</p></dd>
			<dt><code>[<var>n</var>].id</code></dt>
				<dd><p>その見出しのid。見出しにidがない場合、直下のa要素のname属性の値に、それもなければ<code>null</code>になります。</p></dd>
			<dt><code>[<var>n</var>].level</code></dt>
				<dd><p>その見出しのレベル。</p></dd>
			<dt><code>[<var>n</var>].label</code></dt>
				<dd><p>その見出しの内容テキスト。</p></dd>
			<dt><code>[<var>n</var>].substance</code></dt>
				<dd><p>その見出し要素そのもの。</p></dd>
		</dl></p></dd>

	<dt><code>_contextualURI</code></dt>
		<dd><p>リンクを右クリックしてコンテキストメニューを開いた場合はリンク先のURI、それ以外の場合は現在のフレームのURIの文字列です。</p></dd>

	<dt><code>_popupNode</code></dt>
		<dd><p>その上で右クリックしてコンテキストメニューを開いたノードへの参照です。コンテキストメニューを開いていない場合は<code>null</code>です。</p></dd>

	<dt><code>_selection</code></dt>
		<dd><p>選択範囲のテキストです。未選択状態では空文字列になります。</p></dd>

	<dt><code>_selectionSource</code></dt>
		<dd><p>選択範囲のHTMLのソースです。途中から選択されている要素については、開始タグ・終了タグが補われます。</p></dd>

	<dt><code>_selectionNodes</code></dt>
		<dd><p>選択範囲に含まれているノードの一次配列です。</p></dd>

	<dt><code>_focusedElement</code></dt>
		<dd><p>現在フォーカスされている要素ノードへの参照です。</p></dd>

	<dt><code>_profileURI</code></dt>
	<dt><code>_profilePath</code></dt>
	<dt><code>_installedURI</code></dt>
	<dt><code>_installedPath</code></dt>
	<dt><code>_temporaryURI</code></dt>
	<dt><code>_temporaryPath</code></dt>
	<dt><code>_homeURI</code></dt>
	<dt><code>_homePath</code></dt>
		<dd><p>それぞれ、現在のユーザーのプロファイルディレクトリ、Mozilla/Netscapeがインストールされているディレクトリ、システムのテンポラリファイル専用ディレクトリ、ホームディレクトリ（デスクトップなど）の位置を示す文字列です。</p>
		<p>「<var>〜</var>URI」は「file:///<var>〜</var>」という形のURI形式、「<var>〜</var>Path」はプラットフォームごとのファイルパス形式（Windowsなら「c:\...」）です。</p></dd>

	<dt><code>_isOnline</code></dt>
		<dd><p>オンラインモードかどうかを示す真偽値です。</p></dd>

	<dt><code>_inFrame</code></dt>
		<dd><p>コンテキストメニューを開いたのがフレームの中かどうかを示す真偽値です。</p></dd>
</dl>


<h3>関数</h3>
<dl>
	<dt><code>_getTopWindowOf(<var>aWindowType</var>)</code></dt>
		<dd><p>指定したウィンドウタイプのXULウィンドウで、最近アクティブだったものを返します。</p></dd>

	<dt><code>_getWindowsOf(<var>aWindowType</var>)</code></dt>
		<dd><p>指定したウィンドウタイプのXULウィンドウを配列として返します。</p></dd>

	<dt><code>_loadURI(<var>aURI</var>[, <var>aReferrerURI</var>])</code></dt>
		<dd><p>指定したURIを現在のウィンドウ（現在のタブ）に読み込みます。返り値はURIを読み込んだブラウザです。</p></dd>

	<dt><code>_openNewWindow(<var>aURI</var>[, <var>aReferrerURI</var>])</code></dt>
		<dd><p>指定したURIを新しいウィンドウで開きます。返り値は開かれたXULウィンドウです。</p></dd>

	<dt><code>_openNewTab(<var>aURI</var>[, <var>aReferrerURI</var>])</code></dt>
		<dd><p>指定したURIを新しいタブで開きます。返り値は開かれたタブです。</p></dd>


	<dt><code>_loadURIAndDo(<var>aURI</var>[, <var>aReferrerURI</var>[, <var>aCallBackFunc1</var>[, <var>aCallBackFunc2</var>[, ...]]]])</code></dt>
		<dd><p>指定したURIを現在のウィンドウ（現在のタブ）に読み込み、ページの読み込み完了後に、渡された関数を実行します。返り値はURIを読み込んだブラウザです。</p>
		<p>実行する関数には第一引数として、読み込んだページの<code>Window</code>オブジェクトが渡されます。また、関数内ではこれらの短縮構文も利用できます。</p></dd>

	<dt><code>_openNewWindowAndDo(<var>aURI</var>[, <var>aReferrerURI</var>[, <var>aCallBackFunc1</var>[, <var>aCallBackFunc2</var>[, ...]]]])</code></dt>
		<dd><p>指定したURIを新しいウィンドウで開き、ページの読み込み完了後に、渡された関数を実行します。返り値は開かれたXULウィンドウです。</p>
		<p>実行する関数には第一引数として、読み込んだページの<code>Window</code>オブジェクトが渡されます。また、関数内ではこれらの短縮構文も利用できます。</p></dd>

	<dt><code>_openNewTabAndDo(<var>aURI</var>[, <var>aReferrerURI</var>[, <var>aCallBackFunc1</var>[, <var>aCallBackFunc2</var>[, ...]]]])</code></dt>
		<dd><p>指定したURIを新しいタブで開き、ページの読み込み完了後に、渡された関数を実行します。返り値は開かれたタブです。</p>
		<p>実行する関数には第一引数として、読み込んだページの<code>Window</code>オブジェクトが渡されます。また、関数内ではこれらの短縮構文も利用できます。</p></dd>


	<dt><code>_selectButton(<var>aMessage</var>, <var>aButtons</var>)</code></dt>
		<dd><p>ボタンのラベルを格納した配列を渡して、3ボタンまでのダイアログボックスを表示します。返り値は、押されたボタンのインデックス（0〜3）です。</p></dd>

	<dt><code>_selectButtonWithTitle(<var>aTitle</var>, <var>aMessage</var>, <var>aButtons</var>)</code></dt>
		<dd><p><code>_selectButton()</code>の、ダイアログのタイトルを指定できるタイプです。</p></dd>

	<dt><code>_selectList(<var>aMessage</var>, <var>aListItems</var>)</code></dt>
		<dd><p>リストの項目を格納した配列を渡して、リストボックス形式のダイアログボックスを表示します。返り値は、選択されたリストアイテムのインデックス（0〜<var>n-1</var>）です。</p></dd>

	<dt><code>_selectListWithTitle(<var>aTitle</var>, <var>aMessage</var>, <var>aListItems</var>)</code></dt>
		<dd><p><code>_selectList()</code>の、ダイアログのタイトルを指定できるタイプです。</p></dd>

	<dt><code>_getClipBoard()</code></dt>
		<dd><p>クリップボードに格納されている文字列を返します。クリップボードの中身が文字列以外のデータの場合は、nullを返します。</p></dd>

	<dt><code>_setClipBoard(<var>aString</var>)</code></dt>
		<dd><p>指定した文字列をクリップボードに格納します。返り値はありません。</p></dd>

	<dt><code>_getInnerText(<var>aElementNode</var>)</code></dt>
		<dd><p>指定した要素ノードの内部テキスト（画像がある場合は画像の代替テキスト）を集め、文字列として返します。</p></dd>

	<dt><code>_convertCharset(<var>aString</var>, <var>aInputCharset</var>, <var>aOutputCharset</var>)</code></dt>
	<dt><code>_convertCharset(<var>aString</var>, <var>aOutputCharset</var>)</code></dt>
		<dd><p>文字コードの変換を行い、変換後の文字列を返します。変換前の文字コードを省略すると、内部コード（Unicode）からの変換とみなします。</p></dd>

	<dt><code>_addStyleSheet(<var>aURI</var>[, <var>aMIMEType</var>[, <var>aMedia</var>[, <var>aTargetWindow</var>]]])</code></dt>
		<dd><p>指定したスタイルシートを追加で適用します。MIMEタイプを省略すると「text/css」、対象メディアを省略すると「all」として扱います。第四の引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。返り値はありません。</p></dd>

	<dt><code>_run(<var>aAppPath</var>[, <var>aOptions</var>])</code></dt>
		<dd><p>指定のアプリケーションを起動します。起動オプションは文字列または配列の形で渡します。返り値はありません。</p></dd>
</dl>


<h3>ファイルの読み込みと保存</h3>
<dl>
	<dt><code>_include(<var>aFilePathOrURI</var>)</code></dt>
		<dd><p>指定した外部のJavaScriptのファイルを読み込み、実行します。返り値はありません。</p></dd>

	<dt><code>_readFrom(<var>aFilePath</var>)</code></dt>
		<dd><p>指定した外部のファイルをテキストとして読み込み、内容を文字列として返します。</p></dd>

	<dt id="SE_writeTo"><code>_writeTo(<var>aString</var>, <var>aFilePath</var>[, <var>aFlags</var>])</code></dt>
		<dd>
		<p>渡した文字列をテキストファイルに保存します。同名ファイルがある場合は確認無しで上書きします。文字コード変換は行いませんので、必要に応じて <code>_convertCharset()</code> で変換しておいて下さい。</p>
		<p>第三引数として以下のフラグを、<code>"<var>flag1</var>=yes,<var>flag2</var>=no"</code>というような形式の文字列で指定できます。</p>
		<dl>
			<dt><code>CreateDirectory</code></dt>
				<dd>指定した保存先のディレクトリが存在しない場合にディレクトリを自動で作成する場合は<code>yes</code>を、処理を中断する場合は<code>no</code>を指定します。無指定の場合は確認のダイアログが表示されます。</dd>
			<dt><code>Overwrite</code></dt>
				<dd>指定した保存先のファイルが存在する場合に上書きする場合は<code>yes</code>を、処理を中断する場合は<code>no</code>を指定します。無指定の場合は確認のダイアログが表示されます。</dd>
		</dl>
		<p>保存したファイルをnsILocalFileのオブジェクトとして返します（キャンセルされた場合は<code>null</code>）。</p>
		</dd>

	<dt><code>_saveURIAs(<var>aURI</var>[, <var>aFilePath</var>[, <var>aFlags</var>]])</code></dt>
		<dd><p>URIで示されたリモートのリソースをローカルにファイルとして保存します。第二引数を省略するとファイル選択用のダイアログを開きます。第三引数には<a href="#SE_writeTo"><code>_writeTo()</code></a>と同様のフラグを指定できます。ダウンロードを実行中のnsIWebBrowserPersistオブジェクト（ダウンロード開始前にキャンセルされた場合は<code>null</code>）を返します。</p></dd>

	<dt><code>_saveURIInBackgroundAs(<var>aURI</var>[, <var>aFilePath</var>[, <var>aFlags</var>]])</code></dt>
		<dd><p>URIで示されたリモートのリソースをローカルにファイルとして保存します。<code>_saveURIAs()</code>とは異なり、ダウンロードの進行度を示すダイアログなどを表示しません。第二引数を省略するとファイル選択用のダイアログを開きます。第三引数には<a href="#SE_writeTo"><code>_writeTo()</code></a>と同様のフラグを指定できます。ダウンロードを実行中のnsIWebBrowserPersistオブジェクト（ダウンロード開始前にキャンセルされた場合は<code>null</code>）を返します。</p></dd>

	<dt><code>_chooseFile(<var>aTitle</var>[, <var>aDefault</var>[, <var>aFilter</var>]])</code></dt>
		<dd><p>コモンダイアログを開き、ファイルを一つ選択します。デフォルトのファイル名と、ファイル選択のフィルタ（<code>*.txt;*.doc</code>などの形式）を指定できます。返り値はnsIFileのオブジェクトです。</p></dd>

	<dt><code>_chooseFileToSave(<var>aTitle</var>[, <var>aDefault</var>[, <var>aFilter</var>]])</code></dt>
		<dd><p><code>_chooseFile()</code>と基本的には同じですが、保存専用でファイルを選択します。</p></dd>
</dl>


<h3>コンテキストメニュー拡張の機能</h3>
<dl>
	<dt><code>_cancelStyles([<var>aTargetWindow</var>])</code></dt>
		<dd><p>現在のページあるいは現在のフレームの全てのスタイル指定を無効にします。引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。</p></dd>

	<dt><code>_switchStyleTo(<var>aStyleName</var>[, <var>aTargetWindow</var>])</code></dt>
		<dd><p>現在のページあるいは現在のフレームの表示スタイルを、指定した名前のスタイルに切り替えます。その名前のスタイルがない場合や<code>null</code>を渡した場合は、永続スタイルシートのみの表示になります。第二の引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。返り値はありません。</p></dd>

	<dt><code>_openStyleSheetSource(<var>aStyleName</var>[, <var>aTargetWindow</var>])</code></dt>
		<dd><p>現在のページあるいは現在のフレームの、指定した名前のスタイルシートのソースを表示します。複数のシートがある場合、別ウィンドウあるいはタブで開きます。第二の引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。返り値はありません。</p></dd>

	<dt><code>_editGlobalUserStyleSheet()</code></dt>
		<dd><p>グローバルユーザースタイルシートを編集します。返り値はありません。</p></dd>

	<dt><code>_editCustomUserStyle([<var>aTargetWindow</var>])</code></dt>
		<dd><p>現在のページ用のサイト別ユーザースタイルを編集します。引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。返り値はありません。</p></dd>

	<dt><code>_addOptionalStyleSheet(<var>aStyleIndexOrName</var>[, <var>aTargetWindow</var>])</code></dt>
	<dt><code>_removeOptionalStyleSheet(<var>aStyleIndexOrName</var>[, <var>aTargetWindow</var>])</code></dt>
		<dd><p>ユーザー定義スタイルの有効無効を切り替えます。ユーザー定義スタイルは登録名あるいは登録順の番号（0〜<var>n-1</var>）で指定します。第二の引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。返り値はありません。</p></dd>

	<dt><code>_getLinks([<var>aRegExp</var>[, <var>aShouldCopyResultToClipBoard</var>[, <var>aTargetWindow</var>]]])</code></dt>
		<dd><p>現在のページ、現在のフレーム、あるいは選択範囲のリンクを収集し、リンク先URIの一覧を配列として返します。第二引数に<code>true</code>を与えると、結果をクリップボードにコピーします。第三の引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。</p></dd>

	<dt><code>_getLinksWithNode([<var>aRegExp</var>[, <var>aTargetWindow</var>]])</code></dt>
		<dd><p>現在のページ、現在のフレーム、あるいは選択範囲のリンクを収集し、配列として返します。返す配列の個々の要素は、<code>uri</code>プロパティにリンク先、<code>node</code>プロパティにリンクの要素ノードを格納したオブジェクトです。第二の引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。</p></dd>

	<dt><code>_SendURITo(<var>aURI</var>, <var>aReceiverIndexOrName</var>)</code></dt>
		<dd><p>指定したWebサービスにURIを送ります。Webサービスは登録名あるいは登録順の番号（0〜<var>n-1</var>）で指定します。返り値はありません。</p></dd>

	<dt><code>_SendStringTo(<var>aString</var>, <var>aReceiverIndexOrName</var>)</code></dt>
		<dd><p>指定したWebサービスに文字列を送ります。Webサービスは登録名あるいは登録順の番号（0〜<var>n-1</var>）で指定します。返り値はありません。</p></dd>

	<dt><code>_OpenWithApp(<var>aURI</var>, <var>aString</var>, <var>aAppIndexOrName</var>)</code></dt>
		<dd><p>指定した外部アプリケーションにURIと文字列を渡します。アプリケーションは登録名あるいは登録順の番号（0〜<var>n-1</var>）で指定します。返り値はありません。</p></dd>

	<dt><code>_runCustomScript(<var>aScriptIndexOrName</var>[, <var>aTargetWindow</var>])</code></dt>
	<dt><code>_CustomScript(<var>aScriptIndexOrName</var>[, <var>aTargetWindow</var>])</code></dt>
		<dd><p>別のカスタムスクリプトを実行し、実行したスクリプトの返り値をそのまま返します。スクリプトは登録名あるいは登録順の番号（0〜<var>n-1</var>）で指定します。第二の引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。</p></dd>

	<dt><code>_up([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_goNextHeading([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_goPrevHeading([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_goJSPanel([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_showComments([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_showLinks([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_showIDs([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_showCites([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_showTitles([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_showEvents([<var>aTargetWindow</var>])</code></dt>
	<dt><code>_showAll([<var>aTargetWindow</var>])</code></dt>
		<dd><p>コンテキストメニュー拡張の各機能を実行します。引数としてフレームあるいは<code>Window</code>オブジェクトを渡すと、そのフレームを対象にして実行します。全て、返り値はありません。</p></dd>
</dl>


<h3>設定の読み込みと保存</h3>
<dl>
	<dt><code>_getPref(<var>aPrefString</var>)</code></dt>
		<dd><p>保存された設定を読み込み、返します。返す値の型は真偽値・文字列・整数値のいずれかです。設定が保存されていない場合、<code>null</code>を返します。</p></dd>

	<dt><code>_setPref(<var>aPrefString</var>, <var>aValue</var>)</code></dt>
		<dd><p>指定した名前で設定を保存します。返り値はありません。保存する値の型は自動で判別され、真偽値・数値（整数値）・文字列値のいずれかとして扱われます。例えば数値を文字列として保存したい場合は、<code>value.<em>toString()</em></code> などを渡すようにして下さい。</p></dd>

	<dt><code>_clearPref(<var>aPrefString</var>)</code></dt>
		<dd><p>指定した名前の設定を削除します。返り値はありません。なお、その設定が保存されていない場合は何もしません。</p></dd>

	<dt><code>_getCookie(<var>aName</var>)</code></dt>
		<dd><p>指定した名前のCookieの値を取得し、返します。その名前のCookieがない場合は空文字列を返します。</p></dd>

	<dt><code>_putCookie(<var>aName</var>, <var>aValue</var> [, <var>aExpiresDays</var>[, <var>aPath</var>]])</code></dt>
		<dd><p>指定した名前でCookieを発行します。有効期限とパスは省略することができます。</p></dd>
</dl>




<h2 id="samplescripts">サンプルスクリプトの説明</h2>

<p><a href="help-features.xml#customScripts">カスタムスクリプト</a>用のサンプルスクリプトとして、あらかじめ以下のものが用意されています。自分でカスタムスクリプトを作る場合などの参考にして下さい。</p>

<ol>
	<li>
		<h3>現在のページへのリンクを生成</h3>
		<p>現在のページへのリンクを<code>&lt;a href="<var>URI</var>" title="<var>ページのタイトル</var>"&gt;<var>ページのタイトル</var>&lt;/a&gt;</code>の形で作成し、クリップボードにコピーします。</p>
	</li>

<!--
	<li>
		<h3>&customScripts.sample2.label;</h3>
		<p>選択範囲のテキストを<code>&lt;q title="<var>ページのタイトル</var>" cite="<var>URI</var>"&gt;<var>選択範囲のテキスト</var>&lt;/q&gt;</code>の形で引用し、クリップボードにコピーします。改行が含まれている場合、<code>&lt;qblockquote title="<var>ページのタイトル</var>" cite="<var>URI</var>"&gt;&lt;p&gt;<var>選択範囲のテキスト</var>&lt;/p&gt;&lt;/blockquote&gt;</code>の形になります。</p>
	</li>
-->

	<li>
		<h3>選択範囲をHTMLとして引用</h3>
		<p>選択範囲のテキストを、元のHTMLのマーク付けごと引用します。インライン要素だけを含んでいる場合は<code>&lt;q title="<var>ページのタイトル</var>" cite="<var>URI</var>"&gt;<var>選択範囲</var>&lt;/q&gt;</code>の形で、ブロックレベル要素が含まれている場合は、<code>&lt;qblockquote title="<var>ページのタイトル</var>" cite="<var>URI</var>"&gt;&lt;p&gt;<var>選択範囲</var>&lt;/p&gt;&lt;/blockquote&gt;</code>の形で引用し、クリップボードにコピーします。</p>
	</li>

	<li>
		<h3>見出しのリストを生成</h3>
		<p>ページ内の見出しを収集し、アウトラインを順不同リストで作成して、クリップボードにコピーします。ページ内の目次などを作るのに使えます。</p>
	</li>

	<li>
		<h3>テキストファイルをUTF-8でエンコードする</h3>
		<p>選択したテキストファイルを任意のエンコーディングからUTF-8に変換して保存します。.dtdファイルをローカライズしたいのにUTF-8のテキストを読み書きできるエディタを持っていない、などの場合などにどうぞ。</p>
	</li>

	<li>
		<h3>文字列をUnicodeエスケープする</h3>
		<p>入力した文字列をJavaScript用に<code>\u<var>文字コード</var></code>の形にUnicodeエスケープします。言語パックのpropertiesファイルを他言語化する場合などに使えます。</p>
	</li>

	<li>
		<h3>文字列をCSS用にエスケープする</h3>
		<p>入力した文字列を<code>\<var>文字コード</var>&nbsp;</code>（末尾に半角スペース有り）の形にエスケープします。スタイルシート中のエスケープされた文字に対応したブラウザ専用のスタイルシートを書くときなどに使えます。</p>
	</li>

	<li>
		<h3>文字列をXMLの文字数値参照に変換する（10進数）</h3>
		<p>入力した文字列を<code>&amp;#<var>文字コード（10進数）</var>;</code>の形の文字数値参照に変換します。</p>
	</li>

	<li>
		<h3>文字列をXMLの文字数値参照に変換する（16進数）</h3>
		<p>入力した文字列を<code>&amp;#x<var>文字コード（16進数）</var>;</code>の形の文字数値参照に変換します。</p>
	</li>

	<li>
		<h3>noframesの中身を表示</h3>
		<p>フレームを使用したページで、<code>&lt;noframes&gt;</code>の内容を表示します。フレーム非対応ブラウザでの表示を確認するのに使えるかもしれません。</p>
	</li>

	<li>
		<h3>オブジェクトのプロパティ一覧を取得する</h3>
		<p>JavaScriptのオブジェクトのプロパティ一覧を調べ、クリップボードに結果をコピーします。</p>
	</li>

	<li>
		<h3>オブジェクトのプロパティ一覧を取得する（再帰処理）</h3>
		<p>JavaScriptのオブジェクトのプロパティ一覧を調べ、クリップボードに結果をコピーします。<samp>オブジェクトのプロパティ一覧を取得する</samp>との違いは、再帰処理で各プロパティの中身も調べようとする点です。</p>
	</li>

<!--
	<li>
		<h3>&customScripts.sample12.label;</h3>
		<p>ポップアップメニューを開いた要素ノード、あるいは現在フォーカスされている要素ノードを折りたたみます。折りたたんだ要素ノードはダブルクリックすると元に戻ります。</p>
	</li>
-->

	<li>
		<h3>Iria形式のダウンロードリストを生成</h3>
		<p>ページ内のリンクを収集し、Iria形式のダウンロードリストを作成して保存します。あんな事やこんな事に使えるかもしれません。</p>
	</li>

	<li>
		<h3>パッケージをアンインストール</h3>
		<p>入力した名前のパッケージをアンインストールします。<a href="http://piro.sakura.ne.jp/xul/lib/src/exUnregisterer.js">exUnregisterer.js</a>の使い方の実例にもなっています。</p>
	</li>

	<li>
		<h3>画像の自動リサイズ（IE互換）</h3>
		<p>ウィンドウサイズより大きい画像を開いた場合、ウィンドウサイズに合わせて画像を自動的に縮小表示します。<samp>Full Size</samp>ボタンで、元のサイズで表示します。</p>
	</li>

	<li>
		<h3>サイドバーに追加</h3>
		<p>現在のページかリンク先をサイドバーパネルとして登録します。</p>
	</li>

	<li>
		<h3>サイドバーに追加（2）</h3>
		<p>現在のページかリンク先をサイドバーパネルとして登録します。<samp>サイドバーに追加</samp>が失敗する場合はこちらを同素。</p>
	</li>

	<li>
		<h3>他のスクリプトを選択して起動</h3>
		<p>カスタムスクリプト同士を連携させる例です。</p>
	</li>

	<li>
		<h3>XULキャッシュのON/OFF</h3>
		<p>設定をトグルさせる例です。</p>
	</li>

	<li>
		<h3>installed-chrome.txtから重複しているエントリを消す</h3>
		<p>インストーラを使って上書きインストールしていると、<a href="resource:///chrome/installed-chrome.txt">installed-chrome.txt</a>にどんどんエントリが重複登録されていってしまいます。このスクリプトを実行すると、重複したエントリだけを削除してinstalled-chrome.txtをクリンナップします。僕のようなズボラな使い方をしている方に捧げます。</p>
	</li>

	<li>
		<h3>指定したサイトへのリンクを強調表示する</h3>
		<p>「本物の入り口」や「自分のサイトへのリンク」などを探すのに役立つかもしれません。</p>
	</li>

</ol>





<h2 id="tips">便利な使い方</h2>

<ul>
	<li><a href="help-features.xml#customScripts">カスタムスクリプト</a>などのユーザー定義の項目は、中ボタンクリックあるいはControl（MacではCommand）-クリックで直接プロパティを開くことができます。</li>
	<li><a href="help-prefs.xml#customScripts">カスタムスクリプト</a>などの設定パネルのリストは、項目をドラッグ＆ドロップして並べかえることができます。また、削除ボタンにドロップすると、項目を削除できます。</li>
	<li><a href="help-prefs.xml#customScripts">カスタムスクリプト</a>などで、アイテムのプロパティの<samp>コンテキストメニューに加える</samp>にチェックを入れ、親となるメニューを<a href="help-prefs.xml#contextmenu"><samp>コンテキストメニュー</samp>パネル</a>で非表示にすると、コンテキストメニューに新しい機能を加えたような形で利用することができます。</li>
	<li><a href="#shortexpressions">短縮構文</a>はNavigatorウィンドウでグローバルな変数・関数として定義されています。このパッケージをインストールしている環境では、これらの短縮構文を他のXULアプリからも利用できます。</li>
</ul>







<ul id="page-menu" class="footer">
	<li><a href="help.xml">目次</a></li>
	<li><a href="help-installation.xml">導入・削除について</a></li>
	<li><a href="help-features.xml">機能</a></li>
	<li><a href="help-prefs.xml">設定</a></li>
	<li>付録</li>
</ul>


<address>&copy; 2001-2004 <a href="mailto:piro.outsider.reflex@gmail.com">Piro(SHIMODA Hiroshi)</a>:<a href="http://piro.sakura.ne.jp/">http://piro.sakura.ne.jp/</a></address>

</body>
</html>

