Boris: (FRAMES) Ich bin zu doof...

Halloechen Liebes gutes Forum! =v)

ich hab ein kleines Problem mit einem Frameset. Und zwar wuerde ich gerne den Joust Outliner verwenden (ja. ich weiss: die ham ein eigenes Forum, aber hier gehts garnicht so speziell um dieses Teil...), allerdings gefaellt mir die anordnug der Frames dort nicht ganz, und zwar sieht das in etwa so aus:

<img src="http://www.boris.kuehn.com/bilder/sogehts.gif" alt="">

so weit so gut. ich kann auch jederzeit den oberen "title" frame loswerden, was ich auch mache, allerdings will ich, dass das ganze so aussieht:

<img src="http://www.boris.kuehn.com/bilder/sowillichs.gif" alt="">

der Code, der das frameset aufbaut sieht folgendermassen aus:

self.document.writeln('<frameset cols="100%" rows="70,*" onResize="defaultResizeHandler();">');
  self.document.writeln('<frame name="title" src="title.htm" scrolling="no" noresize marginwidth="0" marginheight="0" APPLICATION="yes">');
  self.document.writeln('<frameset cols="230,*" rows="100%">');
  self.document.writeln('<frameset cols="100%" rows="*,48">');
  self.document.writeln('<frame name="menu" src="menu.htm" scrolling="auto" marginwidth="1" marginheight="1" APPLICATION="yes">');
  self.document.writeln('<frame name="menuCntrl" src="menucntrl.htm" scrolling="no" marginwidth="0" marginheight="0" APPLICATION="yes">');
  self.document.writeln('</frameset>');
  self.document.writeln('<frame name="text" src="' + thePage +'" scrolling="auto" APPLICATION="yes">');
  self.document.writeln('</frameset>');
  self.document.writeln('</frameset>');

(dies fuehrt zum oberen, blauen Ergebenis.)

ich bekomms einfach nicht auf die Reihe... _mein_ Versuch sieht so aus:

self.document.writeln('<frameset cols="220,*" rows="100%" frameborder="0" border="0" framespacing="0" noresize>');
                self.document.writeln('<frameset cols="100%" rows="*,48" frameborder="0" border="0" framespacing="0" noresize>');
                self.document.writeln('<frame name="menu" src="menu.htm" scrolling="auto" marginwidth="1" marginheight="1" frameborder="0" border="0" framespacing="0" noresize APPLICATION="yes">');
                self.document.writeln('<frame name="menuCntrl" src="menucntrl.htm" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" border="0" framespacing="0" noresize APPLICATION="yes">');
                self.document.writeln('</frameset>');
                self.document.writeln('<frame name="text" src="' + thePage +'" scrolling="auto" frameborder="0" border="0" framespacing="0" noresize APPLICATION="yes">');

self.document.writeln('<frameset cols="50%,*" rows="100,*" frameborder="0" border="0" framespacing="0" noresize>');
                self.document.writeln('<frame name="title" src="' + theTitle + '" scrolling="auto" frameborder="0" border="0" framespacing="0" noresize APPLICATION="yes">');
                self.document.writeln('</frameset>');

self.document.writeln('</frameset>');

dies fuehrt zum blauen Bild minus dem Titelframe....
ich hab aber auch schon die eine oder andere Alternative ausprobiert. Nix hat geklappt. Fazit: Ich bin zu doof und brauche Hilfe!

wuerd mich ganz arg freuen, wenn mir jemand helfen koennte (und wuerde *g*)

also, danke schonmal, und bis dann, denn!

Boris

  1. Hi !

    Wollte nicht deinen ganzen Quelltext durchgehen, schick dier deshalb nur mal einen Allgemeinen Aufbau für "Aufteilung Rot" musst das ganze dann halt anpassen

    <frameset cols="breite_a,breite_b">
       <frameset rows="hoehe_a1,hoehe_a2">
          <frame name="a" src="datei1.htm">
          <frame name="b" src="datei2.htm">
       </frameset>
       <frameset rows="hoehe_b1,hoehe_b2">
          <frame name="c" src="datei3.htm">
          <frame name="d" src="datei4.htm">
       </frameset>

    </frameset>

    als erstes unterteilst du zwei bereiche, links und rechts, dann unterteilst du jeweils den linken und den rechten in oben und unten, schwubdiwups

    musst nur noch deine gewuenschten groessenangaben uebertragen

    hoffe es hilft dir

    gruss

    Curt

    1. Hi !

      Halloelein!

      <...>

      als erstes unterteilst du zwei bereiche, links und rechts, dann unterteilst du jeweils den linken und den rechten in oben und unten, schwubdiwups

      nope, so gehts leider nicht, und zwar wegen des Joust Outliners... der stellt sich dann naemlich quer und funktioniert nicht mehr (richtig)...

      hoffe es hilft dir

      naja, eigentlich nicht so richtig...

      aber:
      trotzdem vielen Dank!

      bis dann!

      Boris

      1. Hi !

        Halloelein!

        <...>

        als erstes unterteilst du zwei bereiche, links und rechts, dann unterteilst du jeweils den linken und den rechten in oben und unten, schwubdiwups

        nope, so gehts leider nicht, und zwar wegen des Joust Outliners... der stellt sich dann naemlich quer und funktioniert nicht mehr (richtig)...

        hoffe es hilft dir

        naja, eigentlich nicht so richtig...

        aber:
        trotzdem vielen Dank!

        bis dann!

        Boris

        Hi Boris,

        das Frameset an sich sollte ja funktionieren.
        Mußt Du denn in Deinem "Joust Outliners" -kenn ich nicht- immer die gesammte Seite (einschließlich Frames) bearbeiten?
        Normalerweise ändert man am Seitenlayout ja nicht viel, wenn die Rahmen einmal passen.
        Ich bin auch bei Frontpage 98 fast verzweifelt, weil diese Program ohne Rückfrage beim schließen einfach nur bestimmte Dateien des ganzen Rahmens abspeichert.
        Meine Lösung: Einfach nur die html-Datei in den Editior laden die man gerade bearbeiten will. Der Rahmen (mit den Buttons?) wird ja seltener bearbeitet.

        Harald

  2. hallo Boris,
    Wenn Du Dich daran gewöhnst, folgendermaßen heranzugehen, kann in Zukunft nichts mehr schiefgehen:

    Stell Dir Vor, Du hast einen Kuchen und mußt den in viele rechteckige Stücke unterteilen: Dein Kuchenmesser kann aber immer nur den ganzen Kuchen in einem geraden Schnitt durchtrennen. Also Wo fängst Du an zu schneiden bei Blau und Rot?
    Aha. bei Blau kannst Du zuerst nur von links nach rechts schneiden. Bei Rot dagegen klappt das nicht in einem Schnitt von links nach rechts, dagegen aber anfangs von oben nach unten.

    Für die Frameaufteilung bedeutet das, analog zu dem Kuchenschneiden:

    • Senkrechter (von oben nach unten verlaufender) Schnitt: Zerteilung in Spalten : cols
    • Waagerechter (von links nach rechts verlaufender) Schnitt: Zerteilung in Reihen : rows.

    Und noch etwas gibts zu beachten (damit kannst Du Deine Aufteilung auch nachkontrollieren):

    • Solange man das Reststück noch weiter zerteilen muß, entspricht es einem FRAMESET.
    • Erst ein unzerteiltes Reststück ist ein FRAME.
    • Am Ende müssen also genausoviele FRAMES herauskommen wie es Flächen bzw. "Kuchenteile" gibt.

    Also wie gehts mit Blau weiter? Nach dem Senkrechten Schnitt bleiben zwei Hälften (=Spalten), die Du weiter zerteilen sollst. Senkrecht geht nicht, aber jeweils waagerecht(=Reihen), also ergibt sich folgender Frame-Aufbau:

    <FRAMESET mit zwei Spalten cols=breite1,breite2> - Senkrechter Schnitt
      
       1.Spalte: mit zwei Reihen (links oben und links unten)
       <FRAMESET cols=höhe1,höhe2> - Waagerechter Schnitt
          <FRAME links oben></FRAME>
          <FRAME links unten></FRAME>
       </FRAMESET>

    2.Spalte: mit zwei Reihen (rechts oben und rechts unten)
       </FRAMESET  cols=höhe1,höhe2> - Waagerechter Schnitt
          <FRAME links oben></FRAME>
          <FRAME links unten></FRAME>
       </FRAMESET>
    </FRAMESET>

    Die writelns habe ich der Übersichtlichkeit halber weggelassen.

    Ich hoffe, ich konnte Dir weiterhelfen,
    Aaron :-)

  3. Hallo Boris!

    Da ich Dich nach Deiner Mail-Anfrage zum Joust geschickt habe, habe ich irgendwie so was wie eine Verpflichtung, Dir zu helfen, nicht wahr? Zu mal ich mich lange genug mit dem Teil beschäftigt habe, glaub mir!

    der Code, der das frameset aufbaut sieht folgendermassen aus:

    OK, und den nehmen wir mal auseinander:

    self.document.writeln('<frameset cols="100%" rows="70,*" onResize="defaultResizeHandler();">');
      self.document.writeln('<frame name="title" src="title.htm" scrolling="no" noresize marginwidth="0" marginheight="0" APPLICATION="yes">');

    Hier wird das oberste Framset geöffnet, mit einen waagerechten Frame von 70px Größe und einen zweiten Frame, der das restliche Fenster einnimmt. Da Du das Titlefenster nicht willst, nehmen wir das im zweiten Beispiel raus (Vorsicht aber für den Floating Mode, da muss es als unsichtbaren Framesfenster drin!!!).

    self.document.writeln('<frameset cols="230,*" rows="100%">');

    In diesem zweiten Framefenster wird nun ein Frameset geöffnet mit links Menu-, rechts Anzeigefenster

    self.document.writeln('<frameset cols="100%" rows="*,48">');

    Nun wird das Menüfenster links noch einmal unterteilt, ein mal Menü selbst, ein mal Menüsteuerung.

    self.document.writeln('<frame name="menu" src="menu.htm" scrolling="auto" marginwidth="1" marginheight="1" APPLICATION="yes">');

    Datei "menu.htm" wird definiert

    self.document.writeln('<frame name="menuCntrl" src="menucntrl.htm" scrolling="no" marginwidth="0" marginheight="0" APPLICATION="yes">');

    Datei menucntrl.htm wird definiert

    self.document.writeln('</frameset>');

    Dieses Menu/Menüsteuerung Frameset wird hier geschlossen

    self.document.writeln('<frame name="text" src="' + thePage +'" scrolling="auto" APPLICATION="yes">');

    Hier wird im Anzeigefenster die Startseite geladen (home.htm, in der Regel)

    self.document.writeln('</frameset>');

    Das Framset Links Menu und Steuerung und Rechts Startseite wird geschlossen

    self.document.writeln('</frameset>');

    Das erste Framset wird geschlossen (das, das wir nicht brauchen, da Du den oberen Titel-teil nicht willst.

    Und so muss es aussehen, um das zu bekommen, was Du willst:

    self.document.writeln('<frameset cols="230,*" rows="100%" border=1>');
      self.document.writeln('<frameset cols="100%" rows="*,45" border="1">');
      self.document.writeln('<frame name="menu" src="menu.htm" scrolling="auto" marginwidth="1" marginheight="1" APPLICATION="yes" border="0">');
      self.document.writeln('<frame name="menuCntrl" src="menuctrl.htm" scrolling="no" marginwidth="0" marginheight="0" APPLICATION="yes" border="1">');
      self.document.writeln('</frameset>');
      self.document.writeln('<frameset cols="100%" rows="45,*" border="1">');
      self.document.writeln('<frame name="pajst" src="dummy.html" scrolling="auto" APPLICATION="yes">');
      self.document.writeln('<frame name="pajst" src="' + thePage +'" scrolling="auto" APPLICATION="yes">');
      self.document.writeln('</frameset>');
      self.document.writeln('</frameset>');

    Und das nehmen wir jetzt auch auseinander:

    self.document.writeln('<frameset cols="230,*" rows="100%" border=1>');

    Hier wird ein Frameset geöffnet mit links das Fenster für Menu und Menü Steuerung ein Frames rechts, das den restlichen Platz einnimmt

    self.document.writeln('<frameset cols="100%" rows="*,45" border="1">');

    Nun wird das Menüfenster links noch einmal unterteilt, ein mal Menü selbst, ein mal Menüsteuerung.

    self.document.writeln('<frame name="menu" src="menu.htm" scrolling="auto" marginwidth="1" marginheight="1" APPLICATION="yes" border="0">');

    Die datei menu.htm wird definiert

    self.document.writeln('<frame name="menuCntrl" src="menuctrl.htm" scrolling="no" marginwidth="0" marginheight="0" APPLICATION="yes" border="1">');

    Die Datei MenuCntrl.htm wird definiert

    self.document.writeln('</frameset>');

    Dieses Menu/Menüsteuerung Frameset wird hier geschlossen

    self.document.writeln('<frameset cols="100%" rows="45,*" border="1">');

    Nun wird rechts ein Frameset geöffnet mit deinem gewünschten oberen Frames, das hier:

    self.document.writeln('<frame name="pajst" src="dummy.html" scrolling="auto" APPLICATION="yes">');

    mit dem namen "dummy.html" definiert wird

    self.document.writeln('<frame name="pajst" src="' + thePage +'" scrolling="auto" APPLICATION="yes">');

    Und unten kommt die home.htm, die Startseite

    self.document.writeln('</frameset>');

    Dieses Frameset (rechts) wird hier geschlossen

    self.document.writeln('</frameset>');

    Das oberste Frameset wird geschlossen.

    Und so sieht es mit Atomic Eggs aus:

    http://www.atomic-eggs.com/idxstart_test.html

    Viel Spass beim Basteln!

    Bis danndann

    PAF (patrickausfrankfurt)

    1. Re!

      self.document.writeln('<frame name="pajst" src="dummy.html" scrolling="auto" APPLICATION="yes">');
        self.document.writeln('<frame name="pajst" src="' + thePage +'" scrolling="auto" APPLICATION="yes">');

      Das ist ein Copy and Paste Fehler, die Frames sollten verschiedene Namen haben, aber es dürfte klar sein ( hier steht zwei mal name="pajst", was dazu führt, das sich der Browser das erstbeste Fenster nimmt, in dem Fall also das schmale, um die Dateien anzuzeigen)!!!

      Bis danndann

      PAF (patrickausfrankfurt)

      1. Re Boris... und an allen!

        http://www.atomic-eggs.com/idxstart_test.html

        Gestern hat's hier noch funktioniert, heute nicht mehr. Alle meine Seiten sind verhunzt, bitte folgt der URL im Header der Nachricht...

        Bis danndann und hoffentlich bald mit nem neuen Provider

        PAF (patrickausfrankfurt)

        1. verhunzt, bitte folgt der URL im Header der Nachricht...

          Also Patrick, ich bin enttaeuscht. Ich will aj nicht drauf rumreiten und einen running gag daraus machen, aber da Du es mir ja selbst beigrebracht hast:

          Bitte folgt _dem_ URL!

          *ggg*
          -joerg

          1. Hi Joerg!

            Du es mir ja selbst beigrebracht hast:

            Bitte folgt _dem_ URL!

            Das ist korrekt, aber Du weisst ja, das deutsche Sprache ist einer schwere Sprache, den ich langes Zeit habe gebraucht zu lernen.

            Ich habe fertig!

            Bis danndann

            PAF (patrickausfrankfurt)