Carsten Schrötter: Hilfe ich bekomme auf dem Mac eine Fehlermeldung !!!!

Hallo Spezies,
ich habe auf meiner Page ein Skript laufen, daß beim Überfahren einer Grafik
ein Fenster mit Informationen zum Bild öffnet.
Beim IE 4 und bei NC 4.5 funktioniert es auch prima, jedenfalls unter Windows,
der Macintosh quittiert (mit dem NC 4.5) schon das laden der Seite mit einer Fehlermeldung,
beim überfahre der Grafik gibt er jedesmal eine Fehlermeldung aus.

Wer lust hat und sich auskennt kann ja mal einen Blick auf das folgende Skript werfen...

Das ganze findet sich auch online unter www.jo-vandenberg.de/fotos/archive/archive.htm

oder ohne Frame unter  www.jo-vandenberg.de/fotos/archive/flowers/flowers.htm

Vielen Dank für eure mitarbeit

Carsten

<script language="javascript">
    
   var info_window = null;
   function info(fenstertext, status, statustext, bestnr, jahr, auftrag, modell, medium)
   {
       if(status != 0)
       {
         if(info != null) info.focus();
         else
         {
           var info = open('','Infofenster','width=270,height=120');
           info_window = info;
           info.document.open();
info.document.writeln('<html><head><title>Vandenberg - Archiv</title></head>
<body text="#C0C0C0" link="#0000FF" vlink="#FF0000" alink="#FF0000" bgcolor="#000000"><center>');
info.document.writeln('<b><font face="helvetica,Arial" size="3">' + fenstertext + '</FONT></b><br>');
info.document.writeln('<font face="helvetica,Arial" size="2">' + bestnr + '</FONT><br>');
info.document.writeln('<font face="helvetica,Arial" size="1">' + jahr + '</FONT>');
info.document.writeln('<font face="helvetica,Arial" size="1"><b> ' + auftrag + </b></FONT><br>');
info.document.writeln('<font face="helvetica,Arial" size="1"><b>' + modell + </b></FONT><br>');
info.document.writeln('<font face="helvetica,Arial" size="2">' + medium + '</FONT><br>');
info.document.writeln('</center>');  
info.document.close();          
window.status=statustext;return true;
         }
       }
       else
       {
   if(info_window != null) info_window.close();
  }
   }

//-->
</script>

Der Aufruf sieht dann so aus...

<A HREF="../order.htm" onMouseOver="info('Moorgräser', 1, 'Test-status', 'Best.-Nr. Fl01', '', '', '', 'Hochformat 8x10 inch color')" onMouseout="info('',0,'','','','','','')" onClick="info('',0,'','','','','','')">
<img src="fl01.jpg" width=100 height=137 alt="Moorgräser" hspace="5" border="0"></a>

<A HREF="../order.htm" onMouseOver="info('Lotusblumen', 1, 'Test-status', 'Best.-Nr. Fl02', '', '', '', 'Hochformat 8x10 inch color')" onMouseout="info('',0,'','','','','','')" onClick="info('',0,'','','','','','')">
<img src="fl02.jpg" width=100 height=138 alt="Lotusblumen" hspace="5" border="0"></a>

  1. Hallo Carsten!

    der Macintosh quittiert (mit dem NC 4.5) schon das laden der Seite mit einer Fehlermeldung,
    beim überfahre der Grafik gibt er jedesmal eine Fehlermeldung aus.

    Ja und *welche*?? Guter Mann, wir koennen hier sicher bei dem ein oder anderen Problem helfen, aber das Kaffeesatzlesen faellt der Mehrzahl von uns schwer.

    Was aber auf den ersten Blick auffaellt, ist dass Du eine Funktion namens info hast, ...

    function info(fenstertext, status, statustext, bestnr, jahr, auftrag, modell, medium)

    und dann darin eine Variable mit dem selben Namen anlegen/benutzen willst:

    var info = open('','Infofenster','width=270,height=120');

    Das geht natuerlich schief. Windert mich, dass das auf den anderen Browsern funktioniert.

    Probier mal, eindeutige Variablennamen zu verwenden. Falls es das nicht ist, bitte nochmal mit Fehlermeldung fragen.

    Bye, Calocybe

    1. Hi Calocybe,

      erstmal vielen Dank für die schnelle Antwor, ich habe deinen Rat auch sofort ausprobiert,
      auf den Windows PCs läufte es wie vorher, und der Mac macht immer noch Fehler.

      Ja und *welche*?? Guter Mann, wir koennen hier sicher bei dem ein oder anderen Problem helfen, aber das Kaffeesatzlesen faellt der Mehrzahl von uns schwer.

      Sorry, das Problem ist, dass ich die Mac-Fehler immer nur Telefonisch mitgeteilt bekommen..

      Was aber auf den ersten Blick auffaellt, ist dass Du eine Funktion namens info hast, ...

      function info(fenstertext, status, statustext, bestnr, jahr, auftrag, modell, medium)
      und dann darin eine Variable mit dem selben Namen anlegen/benutzen willst:
                 var info = open('','Infofenster','width=270,height=120');

      Probier mal, eindeutige Variablennamen zu verwenden. Falls es das nicht ist, bitte nochmal mit Fehlermeldung fragen.

      Beim laden der Seite erscheint die folgende Meldung

      Javascript Error
      Line 106
      function does not always return a value
      ...^ }

      bei überfahren einer Grafik erscheint dann

      Line 120 info is not defined

      Der Code sieht jetzt fodgendermaßen aus

      <script language="javascript">
        
      var info_window = null;
      function info(fenstertext, status, statustext, bestnr, jahr, auftrag, modell, medium)
      {
      if(status != 0)
      {
      if(dinfo != null) info.focus();
      else
      {
      var dinfo = open('','Infofenster','width=270,height=120');
      info_window = dinfo;
      dinfo.document.open();
      dinfo.document.writeln('<html><head><title>Vandenberg - Archiv</title></head><body text="#C0C0C0" link="#0000FF" vlink="#FF0000" alink="#FF0000" bgcolor="#000000"><center>');
      dinfo.document.writeln('<b><font face="helvetica,Arial" size="3">' + fenstertext + '</FONT></b><br>');
      dinfo.document.writeln('<font face="helvetica,Arial" size="2">' + bestnr + '</FONT><br>');
      dinfo.document.writeln('<font face="helvetica,Arial" size="1">' + jahr + '</FONT>');
      dinfo.document.writeln('<font face="helvetica,Arial" size="1"><b> ' + auftrag + '</b></FONT><br>');
      dinfo.document.writeln('<font face="helvetica,Arial" size="1"><b>' + modell + '</b></FONT><br>');
      dinfo.document.writeln('<font face="helvetica,Arial" size="2">' + medium + '</FONT><br>');
      dinfo.document.writeln('</center>');  
      dinfo.document.close();          
      window.status=statustext;return true;
      }
      }
      else
      {
      if(info_window != null) info_window.close();
      }
      }

      //-->
      </script>

      und der Aufuf

      <A HREF="../order.htm" onMouseOver="info('Moorgräser', 1, 'Test-status', 'Best.-Nr. Fl01', '', '', '', 'Hochformat 8x10 inch color')" onMouseout="info('',0,'','','','','','')" onClick="info('',0,'','','','','','')">
      <img src="xfl01.jpg" width=100 height=137 alt="Moorgräser" hspace="5" border="0"></a>

      <A HREF="../order.htm" onMouseOver="info('Lotusblumen', 1, 'Test-status', 'Best.-Nr. Fl02', '', '', '', 'Hochformat 8x10 inch color')" onMouseout="info('',0,'','','','','','')" onClick="info('',0,'','','','','','')">
      <img src="xfl02.jpg" width=100 height=138 alt="Lotusblumen" hspace="5" border="0"></a>

      Das ganze findet sich nun unter www.jo-vandenberg.de/fotos/archive/flowers/test.htm