Hi
Abgefangen bedeutet funktionierende Lösung, oder einfach nicht-Nutzung des Features im IE?
Wenn ein Workaround gewünscht wäre, und der auch etwas ekligerer Natur sein darf - dann könnte man ja schauen, ob das Attribut in outerHTML eines Knotens auftaucht, und es dort ggf. herausfischen (bspw. RegEx) - wenn das nicht zu sehr auf die Performance geht.
Weder noch und beide;-) Das Problem besteht ja nur, wenn im TABLE-Element KEIN xml:lang-Attribut steht - wenn eines da ist, lesen das alle Browser (auch IE) korrekt aus. Workaround ist also nicht nötig, danke aber trotzdem;-)
So hab ichs gemacht, und das funktioniert jetzt:
function getLang(el) {
if(!el.hasAttribute) { //fuer IE
el.hasAttribute=function(a) {
try {
return (this.getAttribute(a)!='' && this.getAttribute(a)!=null)?true:false; //Dies war die kritische Stelle
} catch(e) {
return false;
}
};
}
if(el.hasAttribute('lang')) {
return el.getAttribute('lang').substring(0,2);
}
if(el.hasAttribute('xml:lang')) {
return el.getAttribute('xml:lang').substring(0,2);
}
return null;
};
Gruss,
Mathias