Kai345: +selfhtml-forum: Opera 11 und getComputedStyle bzw. Alternativen

Beitrag lesen

[latex]Mae  govannen![/latex]

Ich muß erst einmal ein wenig ausholen...

Seit ich das SelfHTML-Forum auf Opera 11.50 statt 10 lese, habe ich ein Problem mit meinem Foren-Javascript.
Und zwar habe ich eine Funktion, die die ungelesenen Nachrichten zählt. Dazu ermittele ich die Links, die nicht mit der Klasse "visited" ausgestattet sind. Allerdings tritt der Fall auf, daß eine Nachricht im Browser bereits als "Gelesen" markiert ist, aber vom SelfHTML-Server noch nicht die Klasse 'visited" erhalten hat. Die Anzahl dieser Nachrichten muß ich dann natürlich subtrahieren.

Bisher habe ich das mit folgendem, von molilys Foren-Script gekl... inspirierter Lösung als Callback-Funktion für filter() erschlagen:

/**  
* Testet, ob der outline-style des Elements den Wert "solid" hat (Link ist nicht besucht), bei besuchten Links  
* ist der Wert "none".  
* siehe http://forum.de.selfhtml.org/js/forum.js  
*/  
function not_visited(el) {  
    /* Link hat keine visited-Klasse, ist aber in der Browser-History als besucht markiert */  
    return window.getComputedStyle(el, null).outlineStyle === "solid";  
}

Hat auch immer funktioniert.
Seit Opera 11 liefert diese Funktion grundsätzlich false zurück. Debugging ergab:
window.getComputedStyle(el, null).outlineStyle liefert immer undefined, somit ist der Vergleich immer false.

Da Opera 10 dieses Verhalten nicht hat, genausowenig wie Chrome, habe ich mir das von getComputedStyle() erzeugte Objekt per Schleife als Zeichenkette der Eigenschaften zusammensetzen und ausgeben lassen. Als Ergebnis erhalte ich nur

cssText:
length: 0
parentRule: null
getPropertyPriority: function() { return ""; }
getPropertyValue: function() { return ""; }
getPropertyCSSValue: function() { return null; }

statt - wie bisher bei Opera10 und jetzt noch bei Chrome - eine Auflistung aller CSS-Eigenschaften und -Werte.

Soweit die Vorgeschichte.

Nun suche ich einen anderen Weg, entweder den gewünschten Wert von outline-style zu ermitteln _ODER_ eine ganz andere Methode, die in der Browser-History als gelesen markierten Links zu ermitteln.

Wäre es nur eine Anzeige, würde es nicht viel ausmachen, allerdings verwende ich das Ergebnis (aka Anzahl ungelesener Nachrichten) für meine Foren-Klick-Navigation, und da ist es schon lästig, wenn gelesene Nachrichten erneut vorgelegt werden.

Stur lächeln und winken, Männer!
Kai

--
Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
in Richtung "Mess up the Web".(suit)
SelfHTML-Forum-Stylesheet