IE 8 und removeAttribute('title')
Peter Pan
- browser
0 Steffen Bruchmann0 ChrisB0 Peter Pan0 ChrisB0 Vinzenz Mai
Hi!
Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode removeAttribute('title');
auszuführen?
Die Kollegen Fx, Safari, Opera, Chrome haben hiermit keine Schwierigkeiten.
off:PP
Hallo Peter,
Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode
removeAttribute('title');
auszuführen?
War es nicht so, dass jede Version des Internet Explorers eine eigene Meinung dazu hatte, wie diese Methode arbeiten sollte?
Ich persönlich würde in deinem Fall einfach den Inhalt des entsprechenden Attributes mit einem leeren String ersetzen:
element.setAttribute('title', '');
respektive
element.title = "";
Mit freundlichen Grüßen,
Steffen Bruchmann
Hi Steffen!
Vielen Dank für Deine Antwort!
Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode
removeAttribute('title');
auszuführen?War es nicht so, dass jede Version des Internet Explorers eine eigene Meinung dazu hatte, wie diese Methode arbeiten sollte?
Bestimmt ist das so, aber ich habe hier nur noch Windosen mit IE 8 und normalerweise interessiert mich dieses Browser-Surrogat nicht, aber jetzt muß ich etwas fürs Web produzieren und da stört es schon arg, wenn ausgerechnet der IE (8) nicht macht, was ich gern hätte :(
Ich persönlich würde in deinem Fall einfach den Inhalt des entsprechenden Attributes mit einem leeren String ersetzen:
element.setAttribute('title', '');
respektive
element.title = "";
Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...
off:PP
Hallo Peter,
Ich persönlich würde in deinem Fall einfach den Inhalt des entsprechenden Attributes mit einem leeren String ersetzen:
element.setAttribute('title', '');
respektive
element.title = "";
Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...
Im Moment kann ich diesen Fall leider nicht reproduzieren, da ich hier auf dieser Windows XP SP3 Maschine nur einen IE 6 installiert habe. Wird dir ein inhaltsleerer gelber Kasten angezeigt oder besitzt der IE 8 tatsächlich so etwas wie eine Konsole?
Alternativ könnte man versuchen das Title-Attribut mit null
zu belegen.
Mit freundlichen Grüßen,
Steffen Bruchmann
Hi Steffen!
Im Moment kann ich diesen Fall leider nicht reproduzieren, da ich hier auf dieser Windows XP SP3 Maschine nur einen IE 6 installiert habe. Wird dir ein inhaltsleerer gelber Kasten angezeigt oder besitzt der IE 8 tatsächlich so etwas wie eine Konsole?
Das gelbe Tooltip wird mit dem Text angezeigt, welcher im HTML-Source als Inhalt des Attributes title hinterlegt ist...
Alternativ könnte man versuchen das Title-Attribut mit
null
zu belegen.
Bringt es leider auch nicht - danke für Deine Bemühungen!
off:PP
Hallo Peter,
Alternativ könnte man versuchen das Title-Attribut mit
null
zu belegen.
Bringt es leider auch nicht - danke für Deine Bemühungen!
Wenn es nicht zu umständlich ist, würde ich einfach ein neues Element ohne Title-Attribut dynamisch generieren und es durch das alte ersetzen. Andernfalls müssen die Benutzer eines IE8 damit leben, das Web nicht richtig genießen zu können. ;-)
Mit freundlichen Grüßen,
Steffen Bruchmann
Hi Steffen!
Wenn es nicht zu umständlich ist, würde ich einfach ein neues Element ohne Title-Attribut dynamisch generieren und es durch das alte ersetzen. Andernfalls müssen die Benutzer eines IE8 damit leben, das Web nicht richtig genießen zu können. ;-)
Ja, letzteres denke ich mir auch gerade - dann sehen die Menschen mit IE 8 und aktiviertem Javascript eben das neue Tooltip und das 'normale' - ich ärgere mich nur, dass ich erst mit dem IE getestet habe, _nachdem_ ich den JS-Teil geschrieben habe...
Vielen Dank!
off:PP
[latex]Mae govannen![/latex]
element.title = "";
Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...
Hmm in meinem IE8 scheint(!) removeAttribute zu funktionieren.
Aber setze mal den Wert auf null (ggf. sowohl per setAttribute wie auch per element.title), dann sollte es eigentlich funktionieren, auch in älteren IEs
Cü,
Kai
Hi Kai345!
element.title = "";
Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...
Hmm in meinem IE8 scheint(!) removeAttribute zu funktionieren.
Mhm - ich habe es soben auch mal per Eventhandler inline - also als on*-Attribut im HTML-Element versucht: nüscht!
Aber setze mal den Wert auf null (ggf. sowohl per setAttribute wie auch per element.title),
Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)
dann sollte es eigentlich funktionieren, auch in älteren IEs
Ältere habe ich nicht hier - werde das Montag mal im Büro testen.
Danke für Deine Hilfe!
off:PP
[latex]Mae govannen![/latex]
Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...
Hmm in meinem IE8 scheint(!) removeAttribute zu funktionieren.
Mhm - ich habe es soben auch mal per Eventhandler inline - also als on*-Attribut im HTML-Element versucht: nüscht!
Aber setze mal den Wert auf null (ggf. sowohl per setAttribute wie auch per element.title),
Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)
Pah, Fehler finden ist wichtiger ^^
Sagen die IE8-Entwicklerwerkzeuge irgendwas dazu, d.h. die Konsole und auch die live-Ansicht des DOM?
Ist die element-variable wirklich belegt, und auch mit dem richtigen Element?
Warum sind die Dodos ausgestorben?
Cü,
Kai
Hi!
Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)
Pah, Fehler finden ist wichtiger ^^
Offensichtlich, hast Du recht;)
Sagen die IE8-Entwicklerwerkzeuge irgendwas dazu, d.h. die Konsole und auch die live-Ansicht des DOM?
Ja, klar: die title-Attribute sind dort auch sichtbar.
Ist die element-variable wirklich belegt, und auch mit dem richtigen Element?
Ja, das sind sie - ich sammle alle Elemente des Typs abbr mit document.getElementByTagName
ein und kann diese auch manipulieren. In allen anderen UAs gibt es keine Probleme, aber im IE 8 kann ich leider das title-Attribut nicht entfernen oder überschreiben.
Warum sind die Dodos ausgestorben?
Der IE soll nicht fliegen, sondern ein Attribut löschen;)
Nachtrag: belasse ich das Dokument für mehr als 3 (geschätzt) Minuten ohne Reload im IE angezeigt, sind die title-Attribute gelöscht - das zeigt mir auch die DOM-Ansicht. Das kann doch unmöglich so lange dauern, oder?
off:PP
[latex]Mae govannen![/latex]
Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)
Pah, Fehler finden ist wichtiger ^^
Offensichtlich, hast Du recht;)
Sowieso :)
Sagen die IE8-Entwicklerwerkzeuge irgendwas dazu, d.h. die Konsole und auch die live-Ansicht des DOM?
Ja, klar: die title-Attribute sind dort auch sichtbar.
Ist die element-variable wirklich belegt, und auch mit dem richtigen Element?
Ja, das sind sie - ich sammle alle Elemente des Typs abbr mit
document.getElementByTagName
ein und kann diese auch manipulieren. In allen anderen UAs gibt es keine Probleme, aber im IE 8 kann ich leider das title-Attribut nicht entfernen oder überschreiben.
Ich schon. Ich habe mal folgendes bei mir eingebaut:
<p>Dies <abbr>ist</abbr> ein <abbr title="hi">test</abbr></p>
<script>
var a = document.getElementsByTagName('abbr');
function abc() {
a[1].removeAttribute("title");
}
window.setTimeout(abc, 10000);
</script>
und nach 10 Sekunden ist das title-Attribut weg.
Cü,
Kai
Hi Kai345!
Danke - ich habe einmal genau dieses Beispiel getestet:
<p>Dies <abbr>ist</abbr> ein <abbr title="hi">test</abbr></p>
<script>
> ~~~javascript
var a = document.getElementsByTagName('abbr');
>
> function abc() {
> a[1].removeAttribute("title");
> }
>
> window.setTimeout(abc, 10000);
</script>
und nach 10 Sekunden ist das title-Attribut weg.
Und bei mir braucht es mind. zwei Minuten - in den anderen UAs sind die title-Attribute 'sofort' gelöscht...
off:PP
'ǝɯɐu$ ıɥ
Der IE soll nicht fliegen [...]
Doch, und zwar auf den Müll :-) Ich fände es sehr sympatisch wenn der IE den Dodo machen würde.
By the way: Dodos konnten nicht fliegen.
ssnɹƃ
ʍopɐɥs
Grundlage für Zitat #1677.
Hi!
Zitiere bitte komplett;)
Warum sind die Dodos ausgestorben?
Der IE soll nicht fliegen [...]
Doch, und zwar auf den Müll :-) Ich fände es sehr sympatisch wenn der IE den Dodo machen würde.
Dann vermeidest Du dieses Missverständnis:
By the way: Dodos konnten nicht fliegen.
Das implizierte meine obige Aussage.
off:PP
Hallo,
Doch, und zwar auf den Müll :-) Ich fände es sehr sympatisch wenn der IE den Dodo machen würde.
warum? Konkurrenz belebt das Geschäft. Ein leistungsfähiger IE kann der Browserentwicklung nur gut tun. Leider wird IE6 vermutlich noch langsamer sterben als sein Vorgänger im Geiste, der unsägliche Netscape 4.x.
Freundliche Grüße
Vinzenz
PS: Ernährten sich Krähen von Dodos?
Leider wird IE6 vermutlich noch langsamer sterben als sein Vorgänger im Geiste, der unsägliche Netscape 4.x.
Nur mit einem Pflock durch das Herz oder indem man möglichst viel Knoblauch zwischen das HTML steckt.
mfg Beat
Hallo :)
Leider wird IE6 vermutlich noch langsamer sterben als sein Vorgänger im Geiste, der unsägliche Netscape 4.x.
Nur mit einem Pflock durch das Herz oder indem man möglichst viel Knoblauch zwischen das HTML steckt.
Das ist ja finsterstes Mittelalter.
Die Pfarrer machen das heute so:
Erst wird "er" getauft, dann konfirmiert.
Danach verschwindet "er" und kommt niemals wieder.
mfg
cygnus
Hi,
Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode
removeAttribute('title');
auszuführen?
Meiner weigert sich nicht, sowohl im IE8- als auch im Kompabilitätsmodus.
Sowohl mit removeAttribute als auch mit removeAttributeNode kann ich das title-Attribut von P-Elementen entfernen. Kein Tooltip mehr, und auch im innerHTML taucht es nicht mehr auf.
Hast du ein Beispiel, bei dem das Problem auftritt?
MfG ChrisB
Hi ChrisB!
Meiner weigert sich nicht, sowohl im IE8- als auch im Kompabilitätsmodus.
Sowohl mit removeAttribute als auch mit removeAttributeNode kann ich das title-Attribut von P-Elementen entfernen. Kein Tooltip mehr, und auch im innerHTML taucht es nicht mehr auf.Hast du ein Beispiel, bei dem das Problem auftritt?
Ich habe es mal maximal kastriert:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
</head>
<body>
<p>Self<abbr title="Hypertext Markup Language">HTML</abbr>-Test</p>
<script src="../script/blank.js" type="text/javascript"></script>
</body>
</html>
Die blank.js - Originalauschnitt:
for (var i =0;i<document.getElementsByTagName( 'abbr' ).length;i++) {
document.getElementsByTagName('abbr')[i].removeAttribute('title');
}
Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.
Danke!
off:PP
Hi,
Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.
Testest du das mit einem „richtigen“ IE 8, oder irgendeinem dieser Multi-IE-Testtools?
MfG ChrisB
Hallo Peter,
Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.
kann ich nicht nachvollziehen: IE 8 unter Window 7. Kein Tooltip - und zwar sofort.
Freundliche Grüße
Vinzenz
Hi Vinzenz!
Danke für die Antwort!
Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.
kann ich nicht nachvollziehen: IE 8 unter Window 7. Kein Tooltip - und zwar sofort.
Ja, das sagen die anderen auch;)
Ich habe das jetzt noch einmal am Notebook meiner Frau getestet auch IE 8 unter Windows 7 - kein Problem: die Attribute sind sofort weg.
Mein Rechner (XP SP3 und IE 8) bleibt träge - zwei bis drei Minuten dauert es - manchmal bis zu fünf. Bevor jetzt jemand fragt: nein es ist kein Pentium I oder so etwas, sondern ein halbwegs aktueller Toshiba-Satellite..
off:PP