Zümrüt: PopUp funktioniert nicht...

Hallo Ihr,
kann es sein, dass javascript bei XP nicht korrekt läuft oder habe ich einen Fehler in dem folgenden Skript?

<SCRIPT LANGUAGE="JavaScript" type="text/javascript">
<!--

function openWindow(mypage,myname,w,h,scroll,pos){
 if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
 if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
 else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
 settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
 win=window.open(mypage,myname,settings);
 win.focus();
}
// -->
</SCRIPT>

und der entsprechende Aufruf im Bodytag:

<a href="javascript:openWindow('skripte/logo.html','logo','availwidth','availheight','yes','center')";
    onMouseOver="changeImages('logo','buttons/logo-over.gif');
return true;"
    onMouseOut="changeImages('logo', 'buttons/logo.gif'); return
true;"
 target="_blank">

Bei meinem Browser IE5.1 (allerdings MacOS9.1) läuft es ohne Probleme und mit Netscape 4.5 auch. Ich habe die Links testen lassen, von Leuten, die auf WindowsXP arbeiten. Bei denen hieß es sogar, die Datei sei nicht gefunden worden. Wer weiß Rat?
Danke + Grüße aus Köln,
Zümrüt

  1. Hallo,

    Wir hatten in letzer Zeit zahlreiche Popup-Beiträge. Eine Archiv-Suche hätte Dir also sehr leicht geholfen.

    Generell sollte man Popups immer so einbinden:

    <a href="popup.html" target="_blank" onclick="window.open(this.href,this.target,"[...]"); return false;">Popup</a>

    Deine javascript:-Variante schließt Leute ohne JavaScript aus.

    Heiner

    1. Hallo Heiner,
      danke für die schnelle Antwort. Ich bin kein Profi und habe auch sämtliche Foren durchforstet. Nachdem ich ständig Probleme mit Netscape hatte, habe ich nun mal diesen Skript übernommen, auch mit dem Aufruf. Ich werde versuchen, Deinem Rat zu folgen.
      Grüße
      Zümrüt

      1. Toitoitoi.

        Wird schon werden mit Mutter Erden!

        Heiner

        1. Mann, Du bist echt gehässig. Bin nun mal Anfänger!
          Musst ja nicht antworten, wenn's Dich annervt.
          Zümrüt

  2. Hallo Zümrüt,

    kann es sein, dass javascript bei XP nicht korrekt läuft oder habe ich einen Fehler in dem folgenden Skript?

    XP ist etwas unklare Umgebungsbeschreibung, vermutlich IE 6? Man weiß es nicht...

    <SCRIPT LANGUAGE="JavaScript" type="text/javascript">
    </SCRIPT>

    In die eigentliche Funktion bin ich jetzt nicht eingestiegen, kann Dir nur ein paar Tipps zur Fehlereingrenzung geben.

    • Javascript Fehlermeldungen im Browser beachten. Wenn im Netscape keine ausgegeben werden, ist das schon mal gut.
    • Sicherstellen daß im Testbrowser auch Javascript eingeschaltet ist.

    <a href="javascript:openWindow('skripte/logo.html','logo','availwidth','availheight','yes','center')";

    zu dieser Konstruktion im href sag ich jetzt mal nichts, lies bitte nach, warum das nicht so gut ist. Hat aber vermutlich mit _dem_ Fehler nichts zu tun.

    Bei meinem Browser IE5.1 (allerdings MacOS9.1) läuft es ohne Probleme und mit Netscape 4.5 auch. Ich habe die Links testen lassen, von Leuten, die auf WindowsXP arbeiten. Bei denen hieß es sogar, die Datei sei nicht gefunden worden. Wer weiß Rat?

    Der Hinweis auf die nicht gefundene Datei bringt mich auf eine andere Spur: du testest lokal? Oder Du hast die Datei evtl. schon im Cache? Deine Tester vielleicht nicht? Liegt die Datei da, wo sie sein sollte? Geht denn das Fenster überhaupt auf?

    Ansonsten: Schritt für Schritt debuggen, d.h. laß Dir einzelne Werte, die da sein sollten, per alert testweise ausgeben, z.B. screen.width usw. Die ausgegebenen Werte führen oft zum Kern des Problems. Viel Erfolg!

    Danke + Grüße aus Köln,

    Dto., schöne Grüße aus Köln-Ehrenfeld ;-) ,

    Elya

    --
    We are still confused, but on a higher level.