# その他の機能

## ウェブページを保存する

ウェブページはさまざまな形式で保存できます。

Web アーカイブ (ZIP)

  この形式では、ひとつ、あるいは複数のウェブページのすべての構成ファイルをひとつのコンパクトなファイル（ZIP アーカイブ）に圧縮して保存します。このファイルを iCab で開くと、ウェブページを表示するためのほとんどのファイルはこの中から読み込まれます。セッションを記録したり、ダウンロードマネージャを経由してダウンロードすることによって、複数のウェブページやウェブサイトを丸ごと保存することができます。標準的な ZIP アーカイブなので、ZIP アーカイブを扱う一般的なアプリケーションでデコードして個別にファイルを取り出すことができます。

Web アーカイブ (Safari)

  この形式は、上記の ZIP Web アーカイブと似ていますが、ひとつのファイルにひとつのウェブページしか保存できません。Safari との互換性があるのが特長です。

HTML

  この形式では、ウェブページのメインとなる HTML ファイルのみがそのまま保存されます。画像などの埋め込みファイルは保存されません。

テキスト

  この形式では、ウェブページで表示されるテキスト情報を抽出してプレーンテキストファイルとして保存します。画像などの埋め込みファイルなどとともに、ウェブページの構造情報なども失われますが、テキストエディタなどで文章を扱う用途には適しています。

PDF

  この形式では、すべての画像を含めた PDF ファイルとして保存します。

独立した Web アプリケーション

  この形式では、実際のユニバーサルバイナリーのアプリケーションとして保存します。

## カーソルの種類

ウェブページ上のリンクなどにカーソルを合わせると、それぞれに多少意味が異なる形状にカーソルが変化します。

人指し指が上を指し、親指が開いている手の形

  リンク先のファイルはキャッシュされていないので、オンラインモードでしか閲覧できないことを意味します。

人指し指が上を指し、親指が閉じている手の形

  リンク先のファイルはキャッシュされているので、オフラインモードでも閲覧できることを意味します。

文書アイコンが附随した手の形

  新規にウインドウが開くリンクであることを意味します。ただし、JavaScript で新規に開くリンクの場合はこの限りではありません。環境設定でタブを優先している場合は、新規にタブが開きます。

エクスクラメーションマークが附随した手の形

  説明が用意されているリンクであることを意味します。カーソルを動かさずにしばらくすると Tooltip が開いて説明が表示されます。

文書アイコンが附随した矢印の形

  Control キーを押しながらクリックしてコンテクストメニューを開くと、画像情報の詳細か、引用文の参照を開くことができることを意味します。

## 文字コード

ウェブページで使用される文字コード（UTF-8、ISO-8859-1、Shift_JISなど）はウェブページによって異なっています。大抵の場合、iCab は自動的に文字コードを判別して、正しくテキストを表示します。しかし、ウェブページによっては、正しい文字コードを明示していなかったり、あいまいになっていたりすることがあります。そのような場合に備えて、iCab は「表示」メニュー＞「文字コード」で選択されている文字コードを適用するようになっています。ウムラウトのような特殊な文字が化けているような場合は、適切な文字コードで表示されていないことを意味します。その場合は、「文字コード」から適切な文字コードを選択することで、表示を修正します。

## ユーザ定義 JavaScript

iCab はユーザが作成した JavaScript ファイルを読み込んで他のウェブページ上で実行することができます。 環境設定ではすべてのウェブページで実行される JavaScript ファイルを読み込ませることができ、フィルターマネージャではウェブサイトごとに実行される JavaScript ファイルを別々に読み込ませることが可能です。これにより、ウェブページのレイアウトや構造、コンテンツを変更したり、機能を追加することができます。ちなみに、iCab にはサンプルとなるファイルが付属しています。それは、YouTube のサイトで機能するフィルターファイルで、フィルターマネージャで読み込んで使いますが、これを使用すると YouTube のウェブページで動画ファイルをダウンロードするためのリンクが表示されるようになります。

ユーザ定義 JavaScript はごく普通の JavaScript で、ウェブページよりも前に読み込まれ、ウェブページの読み込みが完了した時点で実行されます。

ユーザ定義 JavaScript は記述するファイルの最初に以下のコードを必要とします。

    // @init = initFunction

それから、「initFunction」関数を定義します。すると、ウェブページが読み込まれた時点で、initFunction が実行されます。ちなみに、「initFunction」という関数名は任意です。自由に変更してかまいません。ただし、「//」はJavaScriptのコメントとしてエスケープさせるために必要です。

Mac OS X 10.4.11以上の場合は、この特殊な記述法は必要ありません。「initFunction」関数を定義した上で、load イベント時に関数を実行させる以下のような標準的な記述方法で大丈夫です。

    window.addEventListener("load",initFunction);

ユーザ定義 JavaScript を使用して、ファイルをダウンロードするリンクを作成したい場合、以下のようにリンクの target 属性に「_icab_open_in_downloadmanager_」を指定すると、iCab はリンク先のファイルを強制的にダウンロードするようになります。

    <a target="_icab_open_in_downloadmanager_" href="download-url">Download</a>

この方法でダウンロードしたファイルのファイル名も事前に設定したい場合は、target 属性に filename パラメータを以下のように追加します。

    <a target="_icab_open_in_downloadmanager_;filename=filename" href="download-url">Download</a>