Bernhard Peissl: 2Frames-gleichzeitig-laden-Geschädigter sucht trotzdem Hilfe

Hallo,

Ich weiss ich weiss, nicht schon wieder dieses leidige Thema, aber ich hab das Beispiel aus Selfhtml 1:1 abgekupfert und irgendwas stimmt bei mir nicht!!

Meine Funktion habe ich in stinknormalen [script]-Tags eingebunden und heisst loadFrames(...):

// function loadFrames(frame1, file1, frame2, file2)
// {
//   parent.frames[frame1].location.href=file1;
//   parent.frames[frame2].location.href=file2;
//   return true;
// }

aufrufen tu ich sie folgendermassen:

// [a href="javascript: loadFrames('navi','menu.html','main','firmenprofil.html');"]
//   [img src="germany.jpg" width="50" height="20" border="0" name="german"]
// [/a]

Netscape meldet aber diesen Fehler:

// JavaScript Error:
// file:/C/Bernhard/stb-dreher/firmenprofil.html:
// loadFrames is not defined.

Ich habe mich bereits dumm und dämlich gesucht, ich finde den Fehler einfach nicht, hoffentlich findet ihr ihn!

Den Code habe ich ins Netz gestellt: http://members.xoom.com/regenfeld/indexframe.html

Wenn ihr schon dabei seid, könntet ihr mir vielleicht sagen, ob das Laden der Seite bei Euch auch solange dauert!

Danke, und

<grüsse>
Bernhard
</grüsse>

  1. Hi
    Das Problem ist dein
    <base target="main">
    Das sorgt dafuer, dass die Funktion nicht in menu.html, sondern eben in firmenprofil.html gesucht wird!
    Wenn du beim Aufruf der Funktion javascript: parent.navi.loadFrames(..) schreibst, dann sollte das auch klappen.
    Tschau Holger

    1. <hallo>
      Holger
      </hallo>

      Das Problem ist dein

      »»  <base target="main">

      Da hätte ich ewig gesucht, danke.

      Das sorgt dafuer, dass die Funktion nicht in menu.html, sondern eben in firmenprofil.html gesucht wird!

      Unklar ist mir jedoch warum er eine _Funktion_ auch in diesem Frame sucht, target="main" heisst ja eigentlich nur, dass die Links in diesem Frame angezeigt werden oder?
      Ausserdem funktioniert meine zweite Funktion ( changeImage() ) auch, obwohl sie nicht im main-Frame ist.

      Das ist eines jener Dinge, die mir wahrscheinlich ewig ein Rätsel bleiben werden!

      Wenn du beim Aufruf der Funktion javascript: parent.navi.loadFrames(..) schreibst, dann sollte das auch klappen.

      Hat es, ich bin wieder mal baff 8-)

      Ich hätte da noch ne Frage: Ich würde gerne, wenn man links einen Button anklickt, den button so lassen, wie er ist, wenn man mit der Maus drüberfährt. Also statt des grauen Buttons den Pfeil-Button, der soll auch bleiben, wenn man mit der Maus den Button wieder verlässt. Soll den Sinn haben, dass man leichter sehen kann, in welchem Menu-punkt man sich gerade befindet.

      Geht das ?? Wenn ja, wie ??

      <danke>
      Bernhard
      </danke>

      1. !> Ich hätte da noch ne Frage: Ich würde gerne, wenn man links einen Button anklickt, den button so lassen, wie er ist, wenn man mit der Maus drüberfährt. Also statt des grauen Buttons den Pfeil-Button, der soll auch bleiben, wenn man mit der Maus den Button wieder verlässt. Soll den Sinn haben, dass man leichter sehen kann, in welchem Menu-punkt man sich gerade befindet.

        Geht das ?? Wenn ja, wie ??

        moin

        jupp, einfach eine neue function definieren, die bei onClick ausgeführt wird und das selbe macht, wie onMouseover aber nicht wie onMouseout  ;-))

        ich hab so was ähnliches mal gemacht auf http://www.crosswinds.net/~simclose

        grüsse

        sim

  2. hallo,
    versuchs mal so:

    // function ZweiFrames(URL1, F1, URL2, F2)
    // {
    //   parent.frames.navi.location.href=URL1;
    //   parent.frames.main.location.href=URL2;
    //   return true;
    // }

    aufrufen tu ich sie folgendermassen:

    // [a href="javascript:ZweiFrames('menu.html','1','firmenprofil.html','2')"]
    //   [img src="germany.jpg" width="50" height="20" border="0" name="german"]
    // [/a]

    jetzt muesste es funzen ;o)

    gruss stebbi

  3. Meine Funktion habe ich in stinknormalen [script]-Tags eingebunden und heisst loadFrames(...):

    // function loadFrames(frame1, file1, frame2, file2)
    // {
    //   parent.frames[frame1].location.href=file1;
    //   parent.frames[frame2].location.href=file2;
    //   return true;
    // }

    Warum nicht:
         top.open(file1,'FRAME1');
         top.open(self.location.href,'FRAME2');

    Aufrufen dann:
          [a href="top.open('menu.html','navi'),top.open('firmenprofil.html','main');"]
          [img src="germany.jpg" width="50" height="20" border="0" name="german"]
          [/a]

    Das tuts mit IE und NS und auch bei dynamischen Inhalten.
    (Hab das gebraucht einer single Document HTML-Datei (mit Frames))

    Direkte URL-Angaben oder history.back.. oder Frameset ~Resizen~
    oder Window ~Resizen~ loeschen immer wieder den Javascript-Speicher (NS)
    Wenn die Frames dann noch leer definiert waren stimmten auch alle
    Inter-Frame-Variablen-Aktualisierungen! (Bin ich kirre bei geworden 1Tag nur tests)

    P.S. Wie erzeugt man einen leeren Frame?
    Hab bisher immer sowas wie:
         <FRAME ....    SRC="about: Javascript required!" ...>
    und dann top.open(...) benutzt.

    Gehts anders? (bitte direkt antworten)

    1. <hallo/>

      Warum nicht:
           top.open(file1,'FRAME1');
           top.open(self.location.href,'FRAME2');

      "parent" sollte aber schon mal vorkommen oder ?? Ich will ja schliesslich im Frameset bleiben!

      P.S. Wie erzeugt man einen leeren Frame?
      Hab bisher immer sowas wie:
           <FRAME ....    SRC="about: Javascript required!" ...>
      und dann top.open(...) benutzt.

      Gehts anders? (bitte direkt antworten)

      dummy.html:
      [html]
      [head][/head]
      [body] [/body]
      [/html]

      Leere Datei, und ins Frameset mit [frame src="dummy.html"] einbinden.
      Weiss nicht ob dir das was hilft ...
      ... aber ich bin ein recht bodenständiger Typ, hab einfache Sachen recht gern, daher bin ich holger sehr dankbar für seine Lösung, denn die ist einfach und funktioniert einwandfrei, danke.

      <grüsse>
      Bernhard
      </grüsse>