![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Olaf Schneider, 30. 04. 2008, 22:15
Hallo,
(Vorabinfo: ich benutze jQuery)
ich greife im Javascriptcode einer Website auf abbr-Elemente zu und manipuliere sie für einen eigenen Tooltip. Da IE6 bekannterweise mit <abbr> nichts anfangen kann, würde ich ihn gerne von der Ausführung dieses Scriptteiles aussperren.
Die alte Variante, wäre eine Auswertung von navigator.userAgent oder der $.browser-Eigenschaften, die ebenfalls auf navigator.userAgent zurückgreifen. Nicht sehr elegant, auch wenn es in den meisten Fällen funktionieren dürfte.
Moderner wäre es natürlich, genau das Feature abzufragen, also so etwas wie „if (document.browserKnowsHowToDealWithAbbrElements) { doSomething(); }“. Das gibt es aber vermutlich nicht. Ich finde es jetzt aber auch nicht so ideal, Eigenschaften wie document.all etc. zu benutzen, die ja mit der Fähigkeit eines Browsers mit abbr umzugehen nicht das geringste zu tun haben.
Wie würdet Ihr das machen?
Gruß
Olaf
P.S.: Ich weiß, dass man mit <span class="abbr"> etc. Workarounds für den IE6 schaffen kann, habe mich aber dagegen entschieden, da das Feature nicht entscheidend für die Nutzbarkeit der Website ist.
Die folgende Nachricht zum Thema stammt von: Alexander (HH), 30. 04. 2008, 23:30
Moin Moin!
Hilft dir http://dean.edwards.name/my/abbr-cadabra.html vielleicht?
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
Die folgende Nachricht zum Thema stammt von: Olaf Schneider, 30. 04. 2008, 23:40
Hallo Alexander,
»» Hilft dir http://dean.edwards.name/my/abbr-cadabra.html vielleicht?
Jein. Selbst, wenn Dean Edwards recht hat und der Code bei expliziter Verwendung eines Namespaces valides xhtml 1.0 ist, möchte ich gerne vermeiden, dass der Validator bei der Seite herumzickt.
Ich könnte mir aber vorstellen, diesen Effekt durch DOM nachzubauen (es käme zumindest auf einen Test bzw. Recherche an).
Gruß
Olaf
Die folgende Nachricht zum Thema stammt von: Cybaer, 02. 05. 2008, 08:21
Hi,
»» Jein. Selbst, wenn Dean Edwards recht hat
Davon ist auszugehen.
»» und der Code bei expliziter Verwendung eines Namespaces valides xhtml 1.0 ist, möchte ich gerne vermeiden, dass der Validator bei der Seite herumzickt.
Wahlspruch: Nicht fürs Leben, für den Validator coden wir! :->
Gruß, Cybaer
--
Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
(Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
Die folgende Nachricht zum Thema stammt von: molily, 01. 05. 2008, 09:00
Hallo,
da gibts nen kleinen Trick:<html><head>
<script>document.createElement("abbr");
window.onload = function () {
document.getElementsByTagName("abbr").item(0).onmouseover = function () {
alert(this.innerText);
};
};
</script>
</head>
<body>
<abbr>Hello!</abbr>
</body></html>
angelehnt an http://ejohn.org/blog/html5-shiv/
Mathias
--
SELFHTML aktuell Weblog
Die folgende Nachricht zum Thema stammt von: ChrisB, 01. 05. 2008, 09:07
Hi,
»» da gibts nen kleinen Trick:
Great one!
MfG ChrisB
Die folgende Nachricht zum Thema stammt von: Olaf Schneider, 02. 05. 2008, 21:59
Hallo Mathias,
»» da gibts nen kleinen Trick:
»»
»» document.createElement("abbr");
Das ist ja interessant.
Lektion 1: Diese Zeile muss, wenn man die jQuery-Methode $(document).ready() benutzt, nicht in derselben stehen, sondern ohne Verzögerung im Script direkt.
Lektion 2: Die Style-Definitionen mit dem css-Selektor abbr frisst IE6 immer noch nicht.
Jetzt könnte ich natürlich theoretisch per JavaScript über document.styleSheets alle Stylerules suchen, die abbr matchen, um dann die Definitionen mit style zu setzen, aber dann würde ich eher alle abbr-Elemente für den IE6 per JavaScript durch acronym ersetzen und dort fortfahren …
Gruß
Olaf
Die folgende Nachricht zum Thema stammt von: molily, 03. 05. 2008, 11:06
Hallo,
»» Lektion 2: Die Style-Definitionen mit dem css-Selektor abbr frisst IE6 immer noch nicht.
Doch doch. Zumindest manchmal:
<script>
document.createElement("abbr");
</script>
<style>
abbr { color:red; }
</style>
<p><abbr>b</abbr>c</p>
<p>a<abbr>b</abbr>c</p>
Mathias
--
SELFHTML aktuell Weblog
Die folgende Nachricht zum Thema stammt von: Olaf Schneider, 04. 05. 2008, 21:39
Hallo Mathias,
»» Hallo,
»»
»» »» Lektion 2: Die Style-Definitionen mit dem css-Selektor abbr frisst IE6 immer noch nicht.
»»
»» Doch doch. Zumindest manchmal:
Oh, oh. Das Wort Manchmal macht mich immer misstrauisch. Es geht bei mir aber tatsächlich (zumindest einmal) im IE6, wenn ich in der html-Datei die externen JavaScripts vor den externen Styles einbinde.
Gruß
Olaf
© 1998-2006
Impressum, Software: Classic Forum