Philipp Packheiser: Popup in Netscape

liebes forum,
bitte schaut euch mal unter
http://www.alpha-visions.com/fenstertroll
auf die "fenster" seite an. eigentlich sollte, wenn man mit der maus über die bilder kommt ein popup erscheinen, was mit dem ie auch wunderbar funktioniert. mit dem netscape 4.x zwar auch jedoch ab version 6 sieht man gar nix mehr! der eigentliche code steht in einer externen *.js datei. wenn mir jemand weiterhelfen könnte, kann ich ihm auch gerne die dazugehörige datei schicken.
leider bin ich nicht so fit wie ihr in bezug auf netscape :-(...

vielen dank für eure mühe!

mfg
philipp packheiser

hier der code aus der javascript-datei...
____________________________________________________________________

text=new Array();
   title=new Array();

title[1]="Kunststoff";
 text[1]="Finstral Top 72<br> "

var x = 0;
 var xx=10;
 var yy=-140
 var y = 0;
 var showit = -20;

// Welchen Browser haben wir denn...
    // ----------------------------------
    ns = (document.layers)? true:false
    ie4 = (document.all)? true:false
    ie5 = false;
    if (ie4) {
     if (navigator.userAgent.indexOf('MSIE 5')>0) {
      ie5 = true;
     }
    }

// Welche Plattform? bei IE auf MAC keine popi-Fenster

if ( navigator.platform.substring(0,3).toUpperCase() == "MAC" && (ie4 || ie5) )
 {
    mac = true;
    } else {
    mac = false;
    }

if ( (ns) || (ie4) ) {
     if (ns) over = document.layers["popDiv"];
     if (ie4) over = document.all["popDiv"].style;
     document.onmousemove = mouseMove
     if (ns) document.captureEvents(Event.MOUSEMOVE)
    }

function wtl(txt) {
     if (ns) {
      var lll = document.popDiv.document
      lll.write(txt)
      lll.close()
     } else {
      if (ie4) document.all["popDiv"].innerHTML = txt
     }
    }

function show(obj) {
     obj.visibility = "visible"
    }

function hide(obj) {
       obj.visibility = "hidden"
    }

function moveTo(obj,lx,ly) {
     obj.left = lx
     obj.top = ly
    }

function hideit() {
     if (mac) {return;}

if ( (ns) || (ie4) )  {
      showit = 0;
      hide(over);
     }
    }

// Popup zusammenbasteln
    // ---------------------
    function rpopi(text, title) {
     txt = "<TABLE WIDTH=260 BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#9c252d"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0><TR><TD><SPAN ID="thetext"><B><FONT face="Arial, Helvetica" size=-1 class="lt" color="#cccccc">"+title+"</FONT></B></SPAN></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=5 CELLSPACING=0 BGCOLOR="#ffffff"><TR><TD><SPAN ID="thetext2"><FONT face="Arial, Helvetica" COLOR="#000000" size=-2>"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>"
        wtl(txt);
     display_it();
    }

function popi(i,xm) {
  if (mac) {return;}
  xx=xm;
  rpopi(text[i],title[i]);
    }

// ...und jetzt anzeigen
    // ---------------
    function display_it() {
     if ( (ns) || (ie4) ) {
      if (showit == 0)  {
       moveTo(over,x+xx,y+yy);
       show(over);
       showit = 1;
      }
     }
    }

// Auf mousemoves reagieren
    // -----------------------
    function mouseMove(e) {
     if (ns) {x=e.pageX; y=e.pageY;}
     if (ie4) {x=event.x; y=event.y;}
     if (ie5) {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
     if (showit) {
      moveTo(over,x+xx,y+yy);
     }
    }
_____________________________________________________________________

D A N K E

  1. Hi,

    du hättest ruhig unten weiterfragen können. Einen neuen Thread zu starten, bringt nicht unbedingt mehr erfolg, weil evtl. alles nochmal neu diskutiert werden darf.

    Also wenns in N4.x läuft und nur in Netscape 6 Probleme auftauchen solltest du noch folgende Abrfage reinbauen:

    if ((!ie4) && (!ns)) over = document.getElementById("popDiv").style;

    Jedoch solltest du beachten ob du popDiv per id= oder name= eine Bezeichnung gegeben hast, wenn letzters musst du getElementByName nehmen.

    Desweiteren musst du evtl. den Bereich ändern in dem du mit document.all[...].innerHTML bzw. mit lll.write(...) das PopUp zusammenbastelst.

    Schau dir dazu mal folgendes Kapitel in SelfHTML an:

    http://selfhtml.teamone.de/javascript/objekte/node.htm#node_value

    Lies dir dazu auch noch den Absatz "Beachten Sie" durch, dort steht ein kleiner Hinweis wie im Bezug auf innerHTML vorgegangen wird.

    Gruß

    ueps