Hallo Kai,
ich widerspreche Dir nur ungern, aber nicht weil ich Deine Argumente entscheidend finde, sondern weil ich andere Nachteile sehe: Wir sehen ja an den vielen Fragen, dass der Steuerungs- und Wartungsaufwand nach schnellem Beginn stetig wächst.
Vorteile:
solange viele Browser noch kein position:fixed können um eine Navigation zu haben, die nicht mitscrollt
Vielleicht mit das beste Argument für Frames.
geringere Ladezeiten [wirklich? bei 2-3 kb code für die Navigation?]
Bei der von Dir angegebenen Größe genauso irrelevant wie die Header, die Du unten angibst, selbst bei Modem. Aber wenn's ein komplexes Javascript-Menü ist, spielt's vielleicht doch eine Rolle. Vor allem gibt's beim jeweiligen Neuladen des Menüs manchmal Effekte, wenn Anfänger schon etwas anklicken wollen, bevor das Menü komplett geladen ist.
zentrale Datei für die Navigation
Finde ich auch nicht schlecht. Vielleicht der einzige Wartungsvorteil.
Ergänzung: Maskierung von kryptischen URLs wird oft gewünscht.
Nachteile:
Traditionell ist der Inhalt im Web linear und damit auch z.B. für Screenreader lesbar
stimmt; aber denken wirklich alle bei div-Konstruktionen daran, wie's linear aussieht?
schon mal Frames gedruckt?
Faktisch heute kein Problem mehr, da die meisten aktuellen Browser auch einzelne Rahmeninhalte drucken können. Viel nerviger: Tabellen mit 1000 Leergifs, von denen man Inhalte per cut und paste abspeichert und dann in der Zielanwendung eine völlige Katastrophe vorfindet.
Ladezeit in Wahrheit höher -> mehr Header-Informationen durch 3 statt 1 Datei
s.o.
Bookmarken, lokal abspeichern? Vergiss es.
Mit ein bisschen Javascript sind Deep-Links machbar und kontrollierbar, wenn man das als Anbieter möchte, vor allem die von Suchmaschinen. Allerdings wirklich ein Problem. Ein Pferdefuß: Seiten, die mittels JS die Zuordnung zu den Frames kontrollieren, sind lokal nur noch durch Auskommentieren wartbar...
Ergänzung:
m.E. Hauptnachteil: Eine komplexe Site läßt sich auf Dauer mit Frames sehr schwer warten. Auch history() funktioniert nur mit einigem Scriptaufwand, wenn überhaupt.
Mein Fazit: Bei kleineren bis mittleren Projekten kann man mit Frames ziemlich schnell eine funktionale Lösung bauen, die wirklich in 98% aller Browser funktioniert, bei kommerziellen Kunden würde ich schon fast 100% angeben, da dort kaum jemand ohne Frames unterwegs ist. Vor allem, wenn man den Code mittels konsequentem Einsatz von CSS schlank hält, bleibt das Ganze halbwegs übersichtlich. Bei größeren Projekten sollte man nach anderen Lösungen, vor allem serverseitigen Techniken suchen. Aber wie Du weißt: Auch das hat seine Schattenseiten.
Viele Grüße
Mathias Bigge