ウェブページはさまざまな形式で保存できます。
この形式では、ひとつ、あるいは複数のウェブページのすべての構成ファイルをひとつのコンパクトなファイル(ZIP アーカイブ)に圧縮して保存します。このファイルを iCab で開くと、ウェブページを表示するためのほとんどのファイルはこの中から読み込まれます。セッションを記録したり、ダウンロードマネージャを経由してダウンロードすることによって、複数のウェブページやウェブサイトを丸ごと保存することができます。標準的な ZIP アーカイブなので、ZIP アーカイブを扱う一般的なアプリケーションでデコードして個別にファイルを取り出すことができます。
この形式は、上記の ZIP Web アーカイブと似ていますが、ひとつのファイルにひとつのウェブページしか保存できません。Safari との互換性があるのが特長です。
この形式では、ウェブページのメインとなる HTML ファイルのみがそのまま保存されます。画像などの埋め込みファイルは保存されません。
この形式では、ウェブページで表示されるテキスト情報を抽出してプレーンテキストファイルとして保存します。画像などの埋め込みファイルなどとともに、ウェブページの構造情報なども失われますが、テキストエディタなどで文章を扱う用途には適しています。
この形式では、すべての画像を含めた PDF ファイルとして保存します。
この形式では、実際のユニバーサルバイナリーのアプリケーションとして保存します。
ウェブページ上のリンクなどにカーソルを合わせると、それぞれに多少意味が異なる形状にカーソルが変化します。
リンク先のファイルはキャッシュされていないので、オンラインモードでしか閲覧できないことを意味します。
リンク先のファイルはキャッシュされているので、オフラインモードでも閲覧できることを意味します。
新規にウインドウが開くリンクであることを意味します。ただし、JavaScript で新規に開くリンクの場合はこの限りではありません。環境設定でタブを優先している場合は、新規にタブが開きます。
説明が用意されているリンクであることを意味します。カーソルを動かさずにしばらくすると Tooltip が開いて説明が表示されます。
Control キーを押しながらクリックしてコンテクストメニューを開くと、画像情報の詳細か、引用文の参照を開くことができることを意味します。
ウェブページで使用される文字コード(UTF-8、ISO-8859-1、Shift_JISなど)はウェブページによって異なっています。大抵の場合、iCab は自動的に文字コードを判別して、正しくテキストを表示します。しかし、ウェブページによっては、正しい文字コードを明示していなかったり、あいまいになっていたりすることがあります。そのような場合に備えて、iCab は「表示」メニュー>「文字コード」で選択されている文字コードを適用するようになっています。ウムラウトのような特殊な文字が化けているような場合は、適切な文字コードで表示されていないことを意味します。その場合は、「文字コード」から適切な文字コードを選択することで、表示を修正します。
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>