Firefox 3.5: Tableiste anpassen

firefox

Firefox 3.5 ist raus, und hat enervierender Weise zwei Eigenschaften des IE übernommen: Man kann den letzten Tab nicht schließen (und nein, dann soll auch nicht das ganze Fenster geschlossen werden – ich habe ja schließlich nur einen Tab geschlossen!), der entsprechende Button dafür ist nicht vorhanden. Und: Die Tableiste hat so einen nervigen “Öffnet einen neuen Tab”-Button dazu bekommen, der einfach nur unnütz Platz belegt (Doppelklick in die Tableiste hat schon immer einen Tab geöffnet, ganz ohne Button).

Ersteres wird man so los (Quelle: www.camp-firefox.de):

about:config:

userChrome.css ->

Zweiteres behebt man bisher mit folgendem Addon (Tipps zum Entfernen via about:config werden gerne entgegen genommen!): https://addons.mozilla.org/de/firefox/addon/10535

[Firefox] ExternalInterface.call() von außerhalb “der Bühne”

firefox

Man liest von ExternalInterface-Problemen, die darauf basieren, dass von Javascript aus AS-Funktionen aufgerufen werden, bevor das SWF geladen ist – etwa bei onLoad. Als Lösung gilt: “Rufe aus dem SWF heraus eine JS-Funktion auf. Dann (und erst dann) weiß JS, dass das SWF bereit ist.”

So weit, so gut.

Was man dazu wissen muss, und was man deutlich weniger schnell findet im Netz: Ein SWF, das außerhalb des sichtbaren Bereiches liegt (etwa bei “position: absolute; top: -10px; left: -10px;”), ruft im Firefox 3/Windows keine ExternalInterface-Funktion auf. Gar keine, nie. Obwohl ExternalInterface.available true ist, und obwohl das SWF eigentlich angezeigt wird.

HTH.

[Windows:] Statische Firefox-Verknüpfung

firefox

Es gibt diese “fixen” Icons auf dem Desktop – “Arbeitsplatz”, “Netzwerkumgebung”, “Eigene Dateien” und den allseits beliebten “Internet Explorer”… alle mit ihrem eigenen Kontextmenü. Wer sowas für den Firefox haben will, möge folgendes in die Registry schreiben:

Die Pfade (“D:\Programme\…”) sind natürlich entsprechend anzupassen. Löschen kann man das Ganze wieder mit

Download:

Firefox vs. “background-position: center center;”

Während meiner Nachforschungen zum folgenden Problem habe ich auf einer Seite den Satz gelesen “Vielleicht das einzig Gute am Internet Explorer!”. Dem kann ich mich anschliessen 🙂 Also. Ich habe ein Hintergrundbild in einem HTML-Element, zB dem body dieser Seite. Mit CSS setze ich dieses in die Mitte:

Nun habe ich einen sehr langen Text auf meiner Seite (zB dieses Blog), ein vertikaler Scrollbalken wird angezeigt. Und ich habe einen sehr kurzen Text (der Photobereich zur Zeit noch), bei dem keine Scrolleiste angezeigt wird. Beim Wechseln zwischen diesen beiden Bereichen springt das Hintergrundbild. Warum? Weil Firefox die Breite der Scrolleiste von der Breite der eigentlichen Seite abzieht, bevor er die Position des Hintergrundes auf der – nun schmaleren – Seite berechnet. Sehr nervig. Folgende Lösungen stehen zur Wahl:

Den ersten Ansatz liest man sehr häufig: Man mache die komplette Seite immer mindestens 1 Pixel höher als sie müsste:

Die Folge: Man hat immer einen aktiven Scrollbalken rechts, der um mindestens einen Pixel scrollt. Auch nicht besser. Als nächstes bin ich über die Möglichkeit gestolpert, die Breite der Scrolleiste per Javascript auszulesen (ich leihe mir den Code mal, aus Archivierungsgründen :-)):

Da tun sich doch unvermutete Möglichkeiten auf!? Tja, bloß leider keine, die funktioniert hätte. Wenn jemand eine Idee hat, wie ich die Position eines Elementes, das prozentual (bzw. über “center”) positioniert ist, um eine Anzahl von Pixeln ändern kann: Immer her damit 🙂 Mir blieb nur folgende Lösung, bei der ebenfalls ein permanenter Scrollbalken eingeblendet wird – allerdings ist dieser inaktiv, wenn er nicht benötigt wird, was ich persönlich sehr viel angenehmer finde:

Diese Lösung ist die valide (!) CSS3-Version des invaliden

, das sowieso nur für Mozilla-Browser gilt. Erstaunlicherweise funktioniert die CSS3-“:root”-Version praktisch “überall”: Firefox 2.0.0.16 auf dem Mac, Safari 3.1.2 auf dem Mac, Firefox 3.0.1 auf dem PC, Safari 3.1 auf dem PC, dem IE soweiso, und dem W3C CSS Validator!