Hallo,
Die Anpassungen habe ich mittlerweile hinbekommen.
Aaaaber: zum einen finde ich in der "thickbox.js" 8 "TODO"-Kommentare. Zum anderen ist der Code zum Teil grauselig, wenig flexibel, schlecht kommentiert. Und: es wird jQuery-Logik mit "normaler" JS-Logik gemischt.
Daneben habe ich mindestens einen echten kleinen Fehler behoben (Stichwort: resize).
Wundert mich ehrlich gesagt gar nicht.
Man muss die ganze Library-Geschichte mal so sehen:
- Die Entwicklung von JavaScript-Bibliotheken ist momentan eher eine Coolness-Industrie, die allein durch die enorme Nachfrage durch »Konsumenten« getrieben wird. Nach außen hin wird ein aufgeblasenes Brimbamborium veranstaltet, obwohl es nach innen hin bloß nüchterne Programmierung ist - was dann aber entsprechend in den Hintergrund tritt.
- Ausgereift ist in dem Kontext prinzipiell mal gar nichts. Alles beginnt als Schnellschuss. Wenn man hinter die Kulissen der API schaut, findet man selten verständlichen und aufgeräumten Code.
Wenn ich schon sehe, dass thickbox aus einem Haufen loser Funktionen besteht - da sollte der Autor einfach mal die JavaScript-Standardwerke von Heilmann, Koch und Resig (lustigerweise jQuery-Erfinder...) lesen. - Anpassbarkeit des Codes ist ohnehin nicht Ziel der Sache, sondern eine vielseitige API für den Anwender, die mit möglichst vielen Features klotzt. Plug & Play ist die Devise, nicht das eigenständige Weiterentwickeln des Codes. Es handelt sich um Fertigscripte, in die man besser nicht eingreifen sollte.
- Bei der Benutzung von Frameworks wie jQuery habe ich noch nie Code von Dritten gesehen, der wirklich in der Logik des Frameworks verbleibt und dieses ausreizt. Oft fällt er systematisch aus der Logik heraus, wenn von der 60-Kilobyte-Bibliothek nur zwei gesonderte Funktion verwendet werden. Das dann Plugin zu nennen, ist eine Dreistigkeit, die aber durchaus an der Tagesordnung ist.
jQuery und Co. sind kein JavaScript mehr, sondern erfinden eigene Sprachen. Da die meisten aber von JavaScript her denken und die Sprache des jeweiligen Frameworks nicht gut genug kennen, entstehen Pidgin-Sprachen - nicht wirklich JavaScript, nicht wirklich Framework.
Noch immer habe ich das Problem, daß bei mir der graue Hintergrund der "thickbox" leider nicht ganz bis an den unteren Rand meines Browserfensters reicht (Firefox *und* IE).
Darauf weiß ich ohne weiteres auch keine Antwort, hast du mal im Thickbox-Forum gesucht?
Da hatten auch einige das Problem, z.B. http://codylindley.com/thickboxforum/comments.php?DiscussionID=330&page=1#Item_0.
Hast du ein Dokument zur Hand, wo das Problem auftritt?
Tritt der Fehler bei lightbox (Prototype/Scriptaculous-basiert) eigentlich auch auf? Dann könntest du mal die Funktion getPageSize() aus lightbox mit TB_overlaySize() aus thickbox vergleichen (falls die nicht identisch sind, sie sehen sich auf dem ersten Blick ziemlich ähnlich):
http://www.huddletogether.com/projects/lightbox2/js/lightbox.js
Mathias