Orlando: setAttribute-Bug im Internet Explorer 6?

Beitrag lesen

Hallo Struppi,

window.onload = function()
{
var HTMFav = "javascript:void(_search=open('…pfad…/navigation/sidebars/html.htm', '_search'))";
document.getElementById("xpsp2htm").href =
document.getElementById("xpsp2htm").firstChild.data =
HTMFav;
}

Danke, Bei folgendem Code tritt der Fehler jedoch auf:

window.onload = function () {  
  if ((typeof window.external == "object") && (typeof window.external.AddFavorite != "undefined")) {  
    document.getElementById("xpsp2htm").href = HTMFav;  
    document.getElementById("xpsp2htm").firstChild.data = HTMFav;  
    document.getElementById("xpsp2css").href = CSSFav;  
    document.getElementById("xpsp2css").firstChild.data = CSSFav;  
  }  
}

setTimeout() ist also unbedingt erforderlich, weshalb ich den Bug mit Ingos Variante umgehe:

function xpsp2uris () {  
  if ((typeof window.external == "object") && (typeof window.external.AddFavorite != "undefined")) {  
    document.getElementById("xpsp2htm").setAttribute("href", HTMFav);  
    document.getElementById("xpsp2htm").firstChild.nodeValue = HTMFav;  
    document.getElementById("xpsp2css").setAttribute("href", CSSFav);  
    document.getElementById("xpsp2css").firstChild.nodeValue = CSSFav;  
  }  
}  
  
window.onload = function () {  
  window.setTimeout("xpsp2uris()", 150);  
}

Einen Schönheitswettbewerb will ich mit meinem Spaghetti-Code ohnehin nicht gewinnen. ;-)

Grüße
Roland