Markus: Frameset nachladen

Hi Leute

Habe eine Seite mit mehreren Frames:

Möchte wenn ich eine seite aus diesem Frameset direkt über die URL eingebe, daß das Frameset nachgeladen wird...

mein Frameset ist nicht direkt auf der Index.htm da dort nur eine kurze Begrüßung mit Weiterleitung ist..

Also meine Frameset Seite heißt xxx.htm und ist zb so aufgebaut:

<frameset cols="*,800,*" framespacing="0" border="0" frameborder="0">
  <frame name="Links" src="seite.htm" scrolling="no" target="_self" noresize marginwidth="0" marginheight="0">
  <frameset rows="93,30,*,22">
  <frame name="oben" src="head.htm" target="Hauptframe" marginwidth="0" marginheight="0" scrolling="no" noresize>
  <frame name="oben2" src="navigation_oben.htm" target="Hauptframe" marginwidth="0" marginheight="0" scrolling="no" noresize>
  <frameset cols="410,390" framespacing="0" border="0" frameborder="0">
  <frame name="Mitte" src="suche.asp" scrolling="auto" target="Mitte2" marginwidth="3" marginheight="0">
  <frame name="Mitte2" src="info.htm" scrolling="auto" target="_top" marginwidth="0" marginheight="0"> </frameset>
  <frame name="unten" src="navigation_unten.htm" target="Mitte" marginwidth="0" marginheight="0" scrolling="no" noresize>
</frameset>

zb: durch klick auf eine schaltfläche in "navigation_oben" wird dann eine seite test.htm in den Frame "Mitte" verwiesen usw..

Nun möchte ich wenn zb: die seite test.htm direkt eingeben wird dass dann diese seite und ihr rundherum geladen wird...

Habs mit der variante:

im <head>:

<SCRIPT>
<!--
 function checkFrameset() {
  if(!parent.oben)
   location.href="xxx.htm?" + location.pathname;
 }
//-->
</SCRIPT>

und im body:

<body onload= 'checkFrameset()'>

gemacht..

Funktioniert aber nicht..

Was mache ich da falsch od was müßte ich dafür ändern??

Wer kann mir da weiterhelfen? Wäre über eine Hilfe sehr dankbar!

MFG

Markus

  1. hallo markus,

    ich nehme an du beziehst dich auf http://selfaktuell.teamone.de/artikel/javascript/dyn-frames/index.htm

    ich habe das mal für einen iframe leicht geändert verwendet,
    in checkframeset habe ich als bedingung "if (window.name != 'oben')", aber ich glaube das löst dein problem nicht.

    Funktioniert aber nicht..

    was genau funktioniert denn nicht? wird xxx.html?test.html aufgerufen oder nicht?

    1. Re Hallo

      Danke für deine Antwort!

      ich nehme an du beziehst dich auf http://selfaktuell.teamone.de/artikel/javascript/dyn-frames/index.htm

      geanu dort hab ich es gefunden...

      ich habe das mal für einen iframe leicht geändert verwendet,
      in checkframeset habe ich als bedingung "if (window.name != 'oben')", aber ich glaube das löst dein problem nicht.

      glaube das hilf nicht weiter..

      Funktioniert aber nicht..

      was genau funktioniert denn nicht? wird xxx.html?test.html aufgerufen oder nicht?

      Ja es wird so aufgerufen aber den LINK xxx.html?test.html gibt es sogesehen nicht weil sich ja die Seite test.html nicht im eigentlichen Frameset befindet sondern nur über die Navigation_oben im Frame Mitte geöffnet wird..Aber nicht Standard des Framesets xxx.html ist!

      Vl hat wer eine andere Lösung od Idee?

      MFG

      Markus

      1. Ja es wird so aufgerufen aber den LINK xxx.html?test.html gibt es sogesehen nicht weil sich ja die Seite test.html nicht im eigentlichen Frameset befindet sondern nur über die Navigation_oben im Frame Mitte geöffnet wird..Aber nicht Standard des Framesets xxx.html ist!

        hä? ich weigere mich diesen satz öfter als zweimal zu lesen, formuliere das bitte mal verständlich. du musst ja in xxx.html dann die test.html in den inhaltsframe laden, das steht da wo du die funktion her hast. wenn du das nicht willst, sags.

        Vl hat wer eine andere Lösung od Idee?

        du brauchst etwas anderes: beschreibe mal was du genau willst, dann kannst du's wahrscheinlich selbst lösen. oder zumindest versteht dann auch jemand dein problem. das ist ja hier kein rätselforum ;)

        gruß, gini

  2. Hallo Markus,

    ich habe Deine Frage vor einiger Zeit schon einmal beantwortet.

    http://forum.de.selfhtml.org/archiv/2002/4/9457/#m52315

    Unter

    http://www.uni-muenster.de/Physik/AP/Purwins/Home.html

    siehst Du, wie ich es gemacht habe.

    Gruß,   Jürgen

  3. Nun möchte ich wenn zb: die seite test.htm direkt eingeben wird dass dann diese seite und ihr rundherum geladen wird...

    Habs mit der variante:

    im <head>:

    <SCRIPT>
    <!--
    function checkFrameset() {
      if(!parent.oben)
       location.href="xxx.htm?" + location.pathname;
    }
    //-->
    </SCRIPT>

    und im body:

    <body onload= 'checkFrameset()'>

    gemacht..

    Funktioniert aber nicht..

    das ist korrekt für die test.html und alle anderen pages, die nur über die navigation aufgerufen werden können.

    allerdings muss im frame-set auch ein script ausgefürht werden, welches dem browser sagt "diese siete soll im frame mitte geladen werden":

    das in den head

    <script type="text/javascript"><!--
    function checkFramecall() {
     var Adressanhang=location.search;
     if(Adressanhang)
     frames.main.location.href=Adressanhang.substring(1,Adressanhang.length);
    }
    //--></script>

    und das ins frameset-tag: onload="checkFramecall()"

    also zum beispiel: <frameset rows="85,*" frameborder="0" border="0" framespacing="0" onload="checkFramecall()">