stebbi: zwei frames gleichzeitig aendern ...laie verzweifelt !!!

hallo,
ich habe mir mal die moeglichkeiten unter http://www.teamone.de/selfhtml/teda.htm naeher angeschaut und getestet.
leider kapiere ich nicht, wie ich bestimme, in welchen fenstern die seiten dann aufgerufen werden........alles was ich aendere
bewirkt nichts....die links werden immer in den ersten beiden frames geoeffnet.....und ich hab keine ahnung warum.

mein eigentliches prob ist noch etwas weitreichender:

ich moechte ueber zwei framesets hinweg linken.......

das frameset:

<html>
<head>
<title>Lernseiten</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset cols="1*,640,1*" frameborder="NO" border="0" framespacing="0">
  <frame src="links.htm" name="links">
  <frameset rows="15,150,60,*" frameborder="NO" border="0" framespacing="0">
    <frame src="oben.htm" name="oben" scrolling=no marginheight="0" marginwidth="0" topmargin="0" leftmargin="0">
    <frame src="mitte.htm" name="mitte" scrolling=no>
    <frame src="navi.htm" name="navi" scrolling=no marginheight="0" marginwidth="0" topmargin="0" leftmargin="0">
    <frame src="haupt.htm" name="haupt" scrolling=auto>
  </frameset>
  <frame src="rechts.htm" name="rechts" scrolling=no>
</frameset>

</html>

.......aus der haupt.htm soll diese selbst und die links.htm ausgetauscht werden.

ich hoffe, dass mein problem einigermassen verstaendlich ist und hoffe dass mir jemand etwas erleuchtung bringt........

ein verzweifelter laie

stebbi

  1. Guten Morgen, Stebbie :)

    ich habe mir mal die moeglichkeiten unter <../../teda.htm> naeher angeschaut und getestet.
    leider kapiere ich nicht, wie ich bestimme, in welchen fenstern die seiten dann aufgerufen werden........

    ich moechte ueber zwei framesets hinweg linken.......

    parent.frames[0].location.href="inhalt_fuer_ersten_Frame.htm"
    parent.frames[1].location.href="inhalt_fuer_zweiten_Frame.htm"
    parent.frames[2].location.href="inhalt_fuer_dritten_Frame.htm"
    parent.frames[3].location.href="inhalt_fuer_vierten_Frame.htm"
    parent.frames[4].location.href="inhalt_fuer_fünften_Frame.htm"

    Du kannst an Stelle von "frames[x]" auch den Namen des Frames einsetzen, den Du im Framset vergeben
    hast.

    goldene Grüße
    Philip

    1. hi,
      .....ich scheine irgendwie quer zu denken........ich raff es nicht.

      hab jetzt das skript wie folgt geaendert:
      <!--
            function ZweiFrames(URL1,links,URL2,oben)
           {  
            parent.frames[links].location.href=URL1;
            parent.frames[oben].location.href=URL2;
           }
          //-->

      dummer weise erscheint der erste link nach wie vor in dem frame namens "oben" und der zweite link in dem frame namens mitte......

      die logik der function will bei mir nicht ganz durch *seufz*

      gebt nicht auf ;o).......vielleicht kapiere ich es ja irgendwann

      gruss stebbi

      1. hi,
        ich hab‚s...........und eventuell sogar kapiert.

        danke philipp ;o)

        als kleine anregung beim geben von guten antworten:

        als laie im javaskript fehlt einem das wissen um die bedeutung von zeichen.......mein problem war naemlich letztendlich nur, dass ich die klammern nicht wegnehmen wollte

        parent.frames.links.location.href=URL1;
        parent.frames.oben.location.href=URL2;

        und nun geht‚s wunderbar... ;o)....du weisst ja man kann gar nicht kurmm genug denken..

        gruss des frohlockenden stebbi

        1. Guten Morgen, Stebbi :)

          als laie im javaskript fehlt einem das wissen um die bedeutung von zeichen.......mein problem war naemlich letztendlich nur, dass ich die klammern nicht wegnehmen wollte

          parent.frames.links.location.href=URL1;
          parent.frames.oben.location.href=URL2;

          und nun geht‚s wunderbar... ;o)....du weisst ja man kann gar nicht kurmm genug denken..

          Wenn Du die Version mit den eckigen Klammern benutzt, dann darfst Du  keine Frame-Namen angeben
          wie z. B. "links" oder "oben", sondern Du musst die Frame-Nummer angeben: [0] für den ersten Frame
          Deines Sets, [1] für den zweiten Frame des Sets u.s.w.

          Anyway: Hauptsache das funktioniert jetzt, so dass Du nicht für jeden Link eine neue Frameset-Datei
          basteln musst.

          Ist JavaScript Deine erste richtige Programmiersprache oder hast Du vorher schon mal mit einer
          "function" gearbeitet? Kommt mir ein wenig so vor, als wärst Du noch unsicher, wenn es darum geht, einer
          solchen Funktion bei ihrem Aufruf verschiedene Werte zu übergeben.

          Grüße
          Philip

          1. hi philip,
            ....danke fuer deine besorgnis..........und du hast recht...bzw. fast recht.
            ich habe etwas mit vba gebastelt und bin im august99 erstmalig mit html in beruehrung gekommen........es klappt mittlerweile prima,
            und ausser einem mouse-over und hereinfahrenden schaltflaechen habe ich nichts mit java-script zu tun.......hab da etwas wenig zeit und so lerne ich dann immer eine
            kleinigkeit dazu, wenn ich etwas spezielles brauche wie in diesem fall.

            mein naechstes ding traegt mich zu php3, da ich eine seite ohne die linke haelfte im frame anzeigen lassen will.............und so lerne ich langsam und bedaechtig irgendwas dazu.......
            denn die zeit zum einlesen oder gezielten erlernen irgendwelcher sprachen oder programme habe ich leider nicht.

            ...und was mit html schnell geht wird mit etwas komplexeren sachen zwar langsamer aber auch irgendwann erlernt sein ;o)

            die schwierigkeit fuer jemanden der keinerlei sprachen beherrscht ist einfach das geforderte abstrakte denken......und die manchmal gar nciht so logisch erscheinende logik.

            so jetzt wuensche ich allerseits gute nacht

            gruss stebbi

  2. Bau einfach ein neues Frameset in dem Du die Seiten aufrufst, die dann erscheinen sollen und gib an
    target=" _parent".
    Ist die einfachste und schnellste Art.
    Andreas

    1. Hi Andreas!

      Bau einfach ein neues Frameset in dem Du die Seiten aufrufst, die dann erscheinen sollen und gib an
      target=" _parent".
      Ist die einfachste und schnellste Art.

      Mit so einer Methode wirst Du bei größeren Projekten mit allerlei Frames und unterschiedlicher interner
      Verlinkung sowie umfangreicher grafischer Gestaltung nebst möglicherweise noch Formulareingaben
      schnell den Überblick verlieren und ein kläglich vor sich hin stotterndes und sich selbst den Inhalt
      löschendes Frameset-Monster zum Leben erwecken, das außer Dir selbst kein anderer Programmierer
      mehr nachvollziehen kann, der im Falle eines Falles Deinen Code updaten oder weiterschreiben soll :o)
      Außerdem wollte Stebbie ja den Code aus SelfHTML begreifen, was sehr klug ist, weil daraus neue Ideen
      für weitere Frame-Anwendungen unter JavaScript resultieren werden.

      Den Gral der Zunft hochhaltende Grüße
      Philip