André Gerritzen: Seperate JS-Dateien arbeiten nicht!

Ich habe mit Dreamweaver 3 eine recht komplexe Seite erstellt und will die Seite verkleinern indem ich die Javascripts als seperate JS-Datei anlege.Dabei habe mich dabei an die Anweisungen von Selfhtml gehalten. Leider klappt garnichts mehr wenn die Script als JS-Datei laufeb. Wo könnte der Fehler liegen. Ich versuche schon den ganzen Tag den Fehler zu finden.

Hier ist der Teil in der Html-Datei:
<script language="JavaScript" src="scripts.js" type="text/javascript">
</script>

Hier die JS-Datei scripts.js:
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

  1. Hallo,
    also ich hab so einige externe scripts in meinen Files stehen, falls der Pfad stimmt, sollte es klappen.

    <SCRIPT language=javascript
    src="../include/Pruefziffernberechnung.js"></SCRIPT>

    Gruss
    Christian

    1. Hallo Christian
      Es war zum eine die falsche Pfadangabe schuld und zu anderen wurde im Body ein Layer definiert, während die JS-Datei mit der dazugehörigen Funktion noch geladen wurde. Da gab es auch Probleme.

      Danke auc dir.

      André

      Hallo,
      also ich hab so einige externe scripts in meinen Files stehen, falls der Pfad stimmt, sollte es klappen.

      <SCRIPT language=javascript
      src="../include/Pruefziffernberechnung.js"></SCRIPT>

      Gruss
      Christian

  2. Hallo Christian,
    versuche doch mal die Javascriptdatei am Ende Deines HTML-Documentes einzubinden. Wenn Du Layer verwendes kann es gut sein, dass der Layer im Javascript aufgerufen wird, dieser aber noch gar nicht definiert ist.

    Gruß Jürgen

    1. Hallo Jürgen.
      Ihr hattet beide recht.
      Erst habe ich die Pfadangabe geändert und dann denn ladebefehl hinter den Body gesetzt.
      Zwischen /body und /html stand noch die NS-Layerdefinition eines Werbebanners. Da müßte der Ladebefehl aber vor dem Layer stehen.

      Was mich dabei wundert ist, das wenn die Functionen im Head definiert werden es keine Probleme gibt, wird aber die Datei mit den Functionen im Head geladen, laufen die Scripts nicht.

      Hallo Christian,
      versuche doch mal die Javascriptdatei am Ende Deines HTML-Documentes einzubinden. Wenn Du Layer verwendes kann es gut sein, dass der Layer im Javascript aufgerufen wird, dieser aber noch gar nicht definiert ist.

      Gruß Jürgen

  3. Seid gegruesst!

    Seperate Dateien haben bei mir auch noch nie funktioniert... die separaten jedoch immer :-)

    Lernt Deutsch!

    Lord Helmchen

    1. Euer Lordschaft!

      Wenn wir schon beim Erbsenzählen sind: "Sapperlott" schreibt sich immer noch mit zwei t!

      SCNR,

      Utz

      1. Hallo Utz!

        Und noch genauer :
        Nur EIN T, aber ZWEI P.

        also : SAPPERLOT!

        Deutsche Sprache, schwere Sprache! ;-)

        Gruß,
        kerki

        1. Seid gegruesst, Utz und Kerki!

          Unsere Lordschaft sind ob der neu erworbenen Kenntnisse über die Schreibweise des Wortes "Sapperlot" begeistert und überlegen, Euch bei nächster Gelegenheit in den Adelsstand der dunklen Seite der Tags zu erheben (Sir Utz und Sir Kerki - hört sich doch edel an?).

          Lord Helmchen