# Sonstige Funktionen

## Web-Seite speichern

Web-Seite können in verschiedenen Dateiformaten gespeichert werden.

Web-Archiv (ZIP)
  Dieses Format speichert alle Daten einer oder mehrere Web-Seiten in einer einzigen kompakten Datei (einem ZIP-Archiv). iCab kann diese Datei öffnen und alle Daten von dort wieder laden. Dieses Format eignet sich zum vollständigen Speichern von Web-Seiten. Mehrere Web-Seiten speichert iCab in einem Archiv beim Aufzeichnen einer Sitzung oder beim Download ganzer Web-Seiten im Download-Manager. Als Standard-ZIP-Archiv kann dieses Web-Archiv auch von einigen ZIP-Programmen verarbeitet werden.
Web-Archiv (Safari)
  Dieses Format ist ähnlich zu dem ZIP-Web-Archiv-Format von oben, mit der Einschränkung, dass hiermit immer nur eine einzige Web-Seite pro Datei gespeichert werden kann. Da auch der Safari-Browser dieses Format lesen und schreiben kann, ist es zum Datenaustausch mit Safari geeignet.
HTML-Code
  Hierbei speichert iCab nur den HTML-Code. Bilder und andere eingebettete Daten werden nicht gespeichert.
Text
  Hiermit wird ausschließlich der Text gespeichert. Formatierungen der Web-Seite gehen ebenso verloren, wie Bilder und andere eingebettete Daten. Dafür kann der Text so gut wie in jedem Text-Programm weiterverarbeitet werden.

## Snap-Back

iCab unterstützt die Tastaturkommandos der "Snap-Back"-Funktion von Safari.

- cmd + alt + P: geht in der History zurück zur Startseite der aktuellen Web-Seite
- cmd + alt + S: geht zurück zum letzten Ergebnis einer Internet-Suche (die z. B. über das Suchenfeld initiiert wurde)

## Cursor-Formen

Bewegt man den Maus-Cursor über Verweise von Web-Seiten, ändert er seine Form und zeigt viele sehr informative Details an.

- Zeigende Hand mit abgespreiztem Daumen
  Die verlinkte Seite ist nicht im Cache vorhanden und kann nur angezeigt werden, wenn sie online aus dem Internet geholt wird.
- Zeigende Hand mit angelegtem Daumen
  Die verlinkte Seite ist im Cache vorhanden und kann im Offline-Modus - auch ohne Internet-Verbindung - angezeigt werden.
- Zeigende Hand mit angehängtem Dokument-Stapel
  Der Link wird sich beim Klick in einem neuen Fenster oder Tab öffnen.
- Zeigende Hand mit Ausrufezeichen
  Der Link besitzt einen Titel der in einem Tooltip angezeigt wird.
- Pfeil mit angehängtem Dokument-Symbol
  Über das Kontextmenü ist eine ausführliche Beschreibung des angeklickten Bildes oder eine Referenz auf ein Zitat verfügbar.

## Text-Kodierung

Web-Seiten können in unterschiedlichen Text-Kodierungen (UTF-8, ISO-8859-1, usw.) geschrieben sein. iCab findet in der Regel automatisch die richtige Kodierung heraus und zeigt den Text korrekt an. Aber es gibt einige wenige Web-Seiten, bei denen die verwendete Kodierung für iCab nicht eindeutig erkennbar ist. In diesem Fall verwendet iCab die Kodierung, die im Menü `Darstellung > Text-Kodierung` eingestellt ist. Sollten auf einer Web-Seite einige Sonderzeichen (z. B. Umlaute) fehlerhaft angezeigt werden, kann eine falsche Kodierung der Grund sein. D. h. mit der Auswahl der korrekten Kodierung kann die Darstellung korrigiert werden. Welche Kodierung korrekt ist, muss man aber ggfs. durch Ausprobieren herausfinden. Üblich sind meist ISO-8859-1 (USA/Westeuropa) und UTF-8 (weltweit).

## Nutzerdefinierter JavaScript-Code

Im Einstellungsdialog kann man global, und im Filter-Manager spezifisch für jede Web-Seite, benutzerdefinierten JavaScript-Code einbinden, der beim Laden jeder einzelnen Web-Seite ausgeführt wird. Damit kann man Aussehen, Struktur und Inhalt jeder Web-Seite nachträglich ändern. Ein Beispiel liegt iCab bei. Dieses Beispiel ist als Filter für den Filter-Manager konzipiert und baut durch JavaScript-Code einen Download-Link für YouTube-Videos in die YouTube-Seite ein, die den Download der Videos selbst nicht anbietet.

Benutzerdefinierter JavaScript-Code ist ganz normaler JavaScript-Code. Er wird vor dem Laden der Seite geladen und nach dem Laden der Seite wird eine bestimmte im Code definierte Funktion aufgerufen, die dann i. d. R. die eigentliche Tätigkeit durchführt.

Im benutzerdefinierten JavaScript-Code sollte man ganz am Anfang der Datei folgende Zeile einfügen...

    // @init = initFunction

...und danach die Funktion "initFunction" definieren. Nachdem die Seite geladen wurde, wird diese Funktion "initFunction" dann aufgerufen. "initFunction" kann dabei ein beliebiger Name sein. Wichtig ist hier das "//" am Anfang, damit der JavaScript-Interpreter diese Zeile als Kommentar behandelt.

Ab Mac OS X 10.4.11 ist es möglich, anstelle der obigen Zeile auch einfach einen Onload-Handler zu installieren um "initFunction" nach dem Laden aufzurufen:

    window.addEventListener("load",initFunction);

Wenn man mit Hilfe eines nutzerdefinierten JavaScript-Codes einen Link in die Web-Seite einbauen möchte, über den eine Download einer Datei initiiert werden soll, so kann man iCab explizit mitteilen, dass dieser Link ein Download starten soll. Damit das funktioniert, fügt man dem Verweis noch ein "target"-Attribut mit dem Wert "_icab_open_in_downloadmanager_" hinzu, wie im folgenden Beispiel:

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

Will man auch den Dateinamen festlegen, unter dem der Download gespeichert werden soll, muss man dem "target"-Attribut einen Parameter "filename=" anhängen:

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

## Experimentelle Einstellungen

iCab bietet noch eine Reihe weiterer Einstellungen, die eher für Profis gedacht sind, oder nur für sehr spezielle Anwendungen nützlich sind. Zugriff auf diese Einstellungen erhält man durch Eingabe von "settings:" in der URL-Zeile und anschließendem Drücken der Return -Taste.