grauerkoala: Internet Explorer verschwindet bei JavaScript-Anweisung

Tja, wie fasst man das in ein Betreff.
Ich habe gerade an einem kleinen Projekt mit JavaScript gearbeitet und dachte mir, dass man das auch mal im IE testen könnte. Neben einigen Ärgerlichkeiten ist mir eins besonders aufgefallen.
Bei der Ausführung der folgenden Zeilen verschwindet das aktive IE-Fenster hinter allen anderen geöffneten Windows-Fenstern:

document.getElementById("bc_rowd").setAttribute("style","visibility:visible;");  
document.getElementById("bc_helplink").innerHTML = "hide help";

Im Moment tippe ich auf setAttribute als Auslöser, getestet habe ich das noch nicht.
Was haltet ihr davon?

Gruß, grauerkoala

  1. Was haltet ihr davon?

    Typisch MSIE :P

  2. Hallo,

    Onlinebeispiel?

    mfg, Flo

    --
    sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
  3. lang=javascript]document.getElementById("bc_rowd").setAttribute("style","visibility:visible;");

    Auf setAttribute solltest du v.a. im Falle von style verzichten. Nutze das style-Attribut, das eine Schnittstelle zu den Inline-Styles bietet:
    element.style.visibility = "visible";

    Mathias

    1. lang=javascript]document.getElementById("bc_rowd").setAttribute("style","visibility:visible;");

      Auf setAttribute solltest du v.a. im Falle von style verzichten. Nutze das style-Attribut, das eine Schnittstelle zu den Inline-Styles bietet:
      element.style.visibility = "visible";

      Mathias

      Hi Mathias, danke für den Tipp; der hat mir an anderer Stelle im Code geholfen.
      Ich habe noch etwas experimentiert und festgestellt, dass das Verhalten des IE darin begründet zu sein scheint, dass ich die Befehle per <a> im href aufrufe und aus optischen Gründen im gleichen href auch noch this.blur() verwende.

      1. die Befehle per <a> im href aufrufe und aus optischen Gründen im gleichen href auch noch this.blur() verwende.

        this zeigt im Kontext einer Handlerfunktion (also z.B. innerhalb von onclick="...") auf das Elementobjekt.

        Im Kontext von href="javascript:..." zeigt es allerdings auf window!

        Es ist klar, dass das IE-Fenster verschwindet, wenn du irgendwo faktisch window.blur() aufrufst. Du darfst natürlich nicht [fensterobjekt].blur() und [elementobjekt].blur() verwechseln!

        Mathias