Hallo
Struppi+2009-01-08 11:00:55--OK, das letzte Problem ist diese Abfrage:
if(BrowserDetect.browser == 'Opera'){
thisNode.setAttribute("style","text-decoration: none; border: none; ");
if(thisNode.parentNode.id == 'top_nav'){
return;
}
}
Die dazu führt, dass einige Links nicht erfaßt werden.
Das war absolut so gewollt.
Diese Zeile:
thisNode.setAttribute("style","text-decoration: none; border: none; ");
entfernt den border unter den Links die, von unten mit der Maus berührt, nicht funktionierten. Hier ist für den 9.63 definitiv der border das Problem, wenn der weg ist funktioniert es ja einwandfrei.
Der Teil:
if(thisNode.parentNode.id == 'top_nav'){
return;
}
bewirkt das Opera bei den oberen Links im Moment deaktiviert ist und sollte so bleiben, bis ich da ein Lösung habe, ich gehe davon aus, dass auch da eine CSS-Formatierung der Grund für die Seltsamkeiten ist, hatte aber bislang keine Zeit das zu testen.
Struppi+2009-01-08 11:00:55--Zusammengefaßt würde ich die Funktion activateLinks() so schreiben:
Der Aufruf um alle Elemente zu erfassen:
KFSWScreen.activateLinks(document.getElementsByTagName('*'));
Die Funktion:
activateLinks: function (nodes) {
for(var i = 0; i < nodes.length; i++) {
var thisNode = nodes[i];
var evRes;
if(thisNode.tagName.toUpperCase() == 'A'){
if(thisNode.href == KFSWScreen.selfURL){
/* alert(thisNode) */;
thisNode.className = "current";
}
KFSWFunctions.addEvent(thisNode, "mouseover", KFSWScreen.mouseOverLinks, false);
KFSWFunctions.addEvent(thisNode, "mouseout", KFSWScreen.mouseOutLinks, false);
KFSWFunctions.addEvent(thisNode, "click", KFSWScreen.mouseClickLinks, false);
}
}
}
Dann klappt es zumindest bei mir lokal auch mit Opera.
Das werde ich testen, ich glaube schon fest, das ist dann der Knackpunkt für den 8.x er.
Danke & Gruß
Kristian