Andreas: NN 6/7 versteht Browserweiche NN / IE nicht

Hallo!

Habe zur Zeit folgende Browserweiche, da im IE und im Netscape 4.x Ebenen nicht gleich angesprochen werden können. Und zwar geht es um eine Ebene mit Links drin, und der NN4.x ist nicht in der Lage diese Ebene verschwinden zu lassen, ohne das man über einen speziellen Link mit onmouseout  geht. Trotzdem wird in beiden Browsern(NN4.x und jedem IE) bei Aufruf des Javascriptes die Ebene(n) eingeblendet, nur im NN 6/7 und wahrscheinlich Mozilla auch nicht.

So sieht das Javascript aus:

var ie = document.all ? true : false;
var ns = document.layers ? true : false;

function MoveLayer()
{

if (ns) {

var pos = document.images['bild'];

with (document.Menue) {
      pageX = pos.x - 20;
      pageY = pos.y + 20;
      visibility = 'show';
    }
    with (document.layer) {
      pageX = pos.x - 30;
      pageY = pos.y - 20;
      visibility = 'show';
    }

}

else if (ie) {

var pos = document.all['bild'];
    with (document.all.Menue.style) {
      posLeft = getLeft(pos)- 20;
      posTop = getTop(pos) + 20;
      visibility = 'visible';
    }
    with (document.all.layer.style) {
      posLeft = getLeft(pos) - 30;
      posTop = getTop(pos) + 20;
      visibility = 'visible';
    }
  }
}

Wie bekomme ich es hin, das das auch im NN6/7 funktioniert?
Das habe  ich in einem vorherigen Beispiel aufgeschnappt, aber wie kann ich das in meine Browserweiche integrieren?

document.getElementById("test").style.visibility = "visible";

Viele Grüße
Andreas

  1. Hi,

    var ie = document.all ? true : false;
    var ns = document.layers ? true : false;

    beide Techniken sind veraltet; Mozilla (und damit auch Netscape >= 6) und zukünftige Browser werden hier mit Sicherheit versagen. Prüfe auf DOM, also document.getElementById - und programmiere einen entsprechenden Teil, der darauf zugreift.

    Btw, auch neuere IE-Versionen kennen DOM, Du solltest also aufpasen, dass hier nichts doppelt geschieht.

    Cheatah

    1. Hallo!

      var ie = document.all ? true : false;
      var ns = document.layers ? true : false;

      beide Techniken sind veraltet; Mozilla (und damit auch Netscape >= 6) und zukünftige Browser werden hier mit Sicherheit versagen. Prüfe auf DOM, also document.getElementById - und programmiere einen entsprechenden Teil, der darauf zugreift.

      Du bist ja lustig! Das ist mir auch klar, aber leider verwenden noch zu viele Leute die veralteten Browser, die das nunmal nicht verstehen, daher suche ich nach einer Lösung, alte NN, alte IE und neue Browser die DOM verstehen oder so ähnlich. Nur wie kann man das in einem Javascript herausbekommen, was man jetzt vor sich hat?

      Btw, auch neuere IE-Versionen kennen DOM, Du solltest also aufpasen, dass hier nichts doppelt geschieht.

      Ab welcher Version denn?

      Viele Grüße
      Andreas

      1. Hallo!
        Aber vielleicht bracuhe ich das ja doch alles nicht, denn unter http://selfhtml.teamone.de/css/eigenschaften/positionierung.htm#visibility steht, das getElementById cuh in den 4er Versionen beider Browser funktioniert! Nur habe ich jetzt keine Ahnung, wie ich das ach so schöne   Javascript mit meiner Ebenen-Position relativ zu einem Image übernehmen kann. Hätte vielleicht jemand einen Tipp, wie ich

        var pos = document.all['bild'];
            with (document.all.Menue.style) {
              posLeft = getLeft(pos)- 20;
              posTop = getTop(pos) + 20;
              visibility = 'visible';
            }

        // oder

        with (document.layer) {
              pageX = pos.x - 30;
              pageY = pos.y - 20;
              visibility = 'show';
            }

        umformulieren muß, damit das alle Browser ab Version 4 verstehen, also DOM?

        Viele Grüße
        Andreas

      2. hi

        Btw, auch neuere IE-Versionen kennen DOM, Du solltest also aufpasen, dass hier nichts doppelt geschieht.
        Ab welcher Version denn?

        seit Version 5.0, und damit also alle MSIE-versionen, die auch im Alltag noch in nennenswerten Mengen vorkommen.

        Grüße aus Bleckede

        Kai

        1. Hallo!
          Wie kann ich denn mit Javascript(bzw. DOM) einer <div> Ebene eine neue Position zuweisen, hat da jemand einen Link für mich?
          Ich war froh das das jetzt gerade mit Javascript funktionerte, aber anscheinend um sonst.
          Vielen Dank!

          Grüße
          Andreas

          1. hi

            Wie kann ich denn mit Javascript(bzw. DOM) einer <div> Ebene eine neue Position zuweisen, hat da jemand einen Link für mich?

            <div id="bla">

            document.getElementById("bla").style.left="37px"; usw.

            Grüße aus Bleckede

            Kai