Ergebnis 1 bis 15 von 15

Thema: Framesets dynamisch aufrufen

  1. #1
    TP-Special Mod Avatar von webmichl
    Registriert seit
    Jun 2001
    Ort
    8°21' O 49°1' N
    Beiträge
    8.679

    Framesets dynamisch aufrufen

    Da schon öfters die Frage gestellt wurde, wie man Framesets dynamisch - soll heissen, mit variablen Frameinhalten - aufrufen kann, habe ich mal das Script aus SelfHTML den Bedürftnissen angepasst:

    Der Frameset muss folgendermassen aufgebaut werden:


    <html>
    <head>
    <title>Muster-Frameset</title>

    <SCRIPT language="JavaScript">
    <!--
    function checkFramecall() {
    var Adressanhang=location.search;
    if(Adressanhang)
    frames.test2.location.href=Adressanhang.substring(1,Adressanhang.length);
    }
    //-->
    </SCRIPT>

    </head>
    <frameset rows="200,*" onLoad="checkFramecall()">
    <frame src="f1.htm" name="test1">
    <frame src="f2.htm" name="test2">
    </frameset>
    </html>


    Der Name des Frames, dessen Inhalt dynamisch angezeigt werden soll, muss in der JavaScript-Function angegeben werden ( Im Beispiel rot hervorgehoben ).

    Und wie wird das Ganze angesprochen?

    Der Link:


    <a href="frameset.html?neue_datei.htm" target="_top">Klick</a>


    In der href-Definition steht vor dem Fragezeichen die Adresse des Framesets und hinter dem Fragezeichen die Adresse der nachzuladenden Seite.


    Ich hoffe mal, es war verständlich...

    Michael
    Geändert von webmichl (04.12.2002 um 08:09 Uhr)
    Gruß, der Michl


    * * * if you want them to RTFM, make a better FM! * * *

  2. #2
    TP-Special Mod TP-Sponsor Avatar von Thomas
    Registriert seit
    May 2001
    Ort
    Arnsberg - Sauerland
    Beiträge
    21.685

    Smile

    Hi webmichl,

    dieses script ist ja anscheinend als Konsequenz dieses Threads entstanden

    kurze Frage eines js-Dümmlings dazu:

    wenn ich - wie in meinem Fall - 125 mögliche Seiten habe, die dynamisch geladen werden sollen, muss ich in das Frameset folgendes schreiben:

    </head>
    <frameset rows="200,*" onLoad="checkFramecall()">
    <frame src="f1.htm" name="test1">
    <frame src="f2.htm" name="test2">
    <frame src="f2.htm" name="test3">
    .....
    <frame src="f2.htm" name="test123">
    <frame src="f2.htm" name="test124">
    <frame src="f2.htm" name="test125">
    </frameset>
    </html>

    richtig?

  3. #3
    TP-Special Mod Avatar von webmichl
    Registriert seit
    Jun 2001
    Ort
    8°21' O 49°1' N
    Beiträge
    8.679
    Nun ja, dein Thread und der hier...

    Aber deine Frage versteh ich ncht so ganz:
    der Frameset wird ziemlich statisch - so wie in meiner Vorgabe. Das einzig variable sind die Links...

    PS: evtl kann die Namensgleichheit zwischen Framenamen und Datei zu Verwirrungen führen - ich werd's im Anschluss ändern...
    Gruß, der Michl


    * * * if you want them to RTFM, make a better FM! * * *

  4. #4
    TP-Supporter Avatar von armando
    Registriert seit
    Apr 2001
    Ort
    Liechtenstein
    Beiträge
    306
    @rOn

    hier ist der code

    <script language="JavaScript">
    <!--
    if(top==self) {
    self.location.href='[bold]http://www.deineurl.de[/bold]';}//tmtC_backToFrameEnd

    function MM_goToURL() { //v3.0
    var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
    for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    }
    //-->
    </script>

    du musst einfach das fett markierte in deine url umwandeln und in jede deiner seiten einfügen. natürlich nicht in die frameset datei.

    ich gebe immer den ersten link ein meiner site...
    ist noch was zu ERLEDiGEN...???

  5. #5
    TP-Special Mod Avatar von webmichl
    Registriert seit
    Jun 2001
    Ort
    8°21' O 49°1' N
    Beiträge
    8.679

    ich fasse es irgendwie nicht...

    Ich musste mein Script heute selber mal einsetzen. Soweit kein Problem ( ist ja von mir ) - aaaber:

    Jetzt zickt der NS7.01/Mozilla! Die Unterseite wird nicht geladen und es kommt die Fehlermeldung "frames.Text.location has no properties" (urgs).

    Alle anderen Browser ( inklusive Mimose NS4.7! ) zeigen die Seite korrekt...
    Gruß, der Michl


    * * * if you want them to RTFM, make a better FM! * * *

  6. #6
    TP-Newbie
    Registriert seit
    Jul 2004
    Beiträge
    2
    Hi Webmichl!
    Ich hab mal ne Frage zu dem Script da oben!
    Ich hab ihr nämlich ausprobiert denn dannach such ich schon seit langem! Aber die beiden Seiten dort sind aufeinander! Wie kriege ich es hin, sienebeneinander zu machen?

  7. #7
    TP-Special Mod Avatar von webmichl
    Registriert seit
    Jun 2001
    Ort
    8°21' O 49°1' N
    Beiträge
    8.679
    Aufeinander? Du meinst übereinander? Und willst sie nebeneinander haben? Da empfehl ich Dir, Dir mal die Frame-Grundlagen zu Gemüte zu führen...
    Gruß, der Michl


    * * * if you want them to RTFM, make a better FM! * * *

  8. #8
    ingo
    Guest
    warum macht ihr das denn per javascript?
    einfacher und vor allem kompatibler gehts doch mit php:

    PHP-Code:
    <?php 
    if ($link==""$link="http://www.google.de";
    echo 
    "
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\">
    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
    <title>Titel</title>
    </head>
    <frameset rows=\"80,*\" frameborder=\"NO\" border=\"0\" framespacing=\"0\">
    <frame src=\"datei1.php\" name=\"topFrame\" scrolling=\"NO\" noresize >
    <frame src=\"$link\" name=\"mainFrame\">
    </frameset>
    </html> "
    ?>
    aufruf geht dann über z.b. frames.php: <a href="frames.php?link=datei.html>link</a>

  9. #9
    TP-Newbie
    Registriert seit
    Jul 2004
    Beiträge
    2
    Danke für die Hilfe ^^

  10. #10
    TP-Senior
    Registriert seit
    Dec 2003
    Ort
    nähe Frankfurt a. Main
    Beiträge
    285
    Moin moin,

    kurz zum besseren Verständniss...
    Die von Ing.o genannte Möglichkeit wird ebenso wie die JS Option eingebunden? Sprich sowohl im Frameset als auch im Frame selbst?

  11. #11
    ingo
    Guest
    moinsen,
    nein, nur im frameset

  12. #12
    TP-Senior
    Registriert seit
    Dec 2003
    Ort
    nähe Frankfurt a. Main
    Beiträge
    285
    Servus ing.o,

    ich oute mich jetzt mal als Neuling auf dem Gebiet von dynamischen Seiten

    Muss daher nochmal wegen Verständnissfragen nachhaken:

    In meinem Fall habe ich 3 Frames, von denen aber lediglich in eins (mainFrame) Inhalte dynamisch geladen werden sollen. Die beiden anderen sind statisch.

    Sehe ich das richtig, dass das Frameset weiter so als .htm(l) Datei bestehen bleibt und lediglich eine 2. Datei mit (z.B. Frames.php) zu erstellen ist, die dann alle Links zu den Seiten enthält?

    In meinem konkreten Beispiel wäre das dann praktisch:

    Code:
    <frameset rows="233,*" cols="*" frameborder="NO" border="0" framespacing="0">
    <frame src="winter/oben/oben.htm" name="topFrame" scrolling="NO" noresize >
    <frameset cols="195,*" frameborder="NO" border="0" framespacing="0">
    <frame src="winter/links/links.htm" name="leftFrame" scrolling="NO" noresize>
       <frame src=\"$link\" name=\"mainFrame\">
    Ich schätze mal, dass mir einfach die Funktionsweise noch nicht 100%ig klar ist.

  13. #13
    TP-Senior
    Registriert seit
    Dec 2003
    Ort
    nähe Frankfurt a. Main
    Beiträge
    285
    Servus ing.o,

    muss trotzdem nochmal nachhaken. Da ich immer noch nicht so richtig dahinter komme, hab ich mich mal ein wenig im Netz umgesehen, und u.a. bei DrWeb.de eine nähere Beschreibung gefunden.

    Da bei der Lösung aber die Rede davon ist, dass sowohl im FrameSet als auch im jeweiligen Frame ein Eintrag erfolgen muss, könnte ich mir glatt denken, dass du nochmals einen anderen Lösungsansatz verfolgt hast.
    Aber leider komme ich damit momentan noch nicht weiter

  14. #14
    321
    321 ist offline
    TP-Specialist Avatar von 321
    Registriert seit
    Nov 2004
    Ort
    Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
    Beiträge
    4.248
    Ich finde, es sei nicht der Sinn von Frames, dass man bei jeder Seite die angezeigt werden soll, das gesamte neu Frameset ladet. Das betrifft auch ing.o's PHP-Lösung.

    Ein Script brauchts doch eh nur, wenn man mehr als ein (1) Frame neu beschicken will, sonst genügt doch
    <a href="seite120.html" target="frame2">xxxxx</a>
    [321 Name="Joe"]
    wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
    [/321]


    use my HTML-Tester

    Motto'06: Mut zur deutschen Sprache!

  15. #15
    TP-Newbie
    Registriert seit
    Nov 2005
    Beiträge
    1
    Zitat Zitat von webmichl
    Da schon öfters die Frage gestellt wurde, wie man Framesets dynamisch - soll heissen, mit variablen Frameinhalten - aufrufen kann, habe ich mal das Script aus SelfHTML den Bedürftnissen angepasst:

    Der Frameset muss folgendermassen aufgebaut werden:


    <html>
    <head>
    <title>Muster-Frameset</title>

    <SCRIPT language="JavaScript">
    <!--
    function checkFramecall() {
    var Adressanhang=location.search;
    if(Adressanhang)
    frames.test2.location.href=Adressanhang.substring(1,Adressanhang.length);
    }
    //-->
    </SCRIPT>

    </head>
    <frameset rows="200,*" onLoad="checkFramecall()">
    <frame src="f1.htm" name="test1">
    <frame src="f2.htm" name="test2">
    </frameset>
    </html>


    Der Name des Frames, dessen Inhalt dynamisch angezeigt werden soll, muss in der JavaScript-Function angegeben werden ( Im Beispiel rot hervorgehoben ).

    Und wie wird das Ganze angesprochen?

    Der Link:


    <a href="frameset.html?neue_datei.htm" target="_top">Klick</a>


    In der href-Definition steht vor dem Fragezeichen die Adresse des Framesets und hinter dem Fragezeichen die Adresse der nachzuladenden Seite.


    Ich hoffe mal, es war verständlich...

    Michael
    grüße euch!

    mein dank: an webmichl für das script. funkt bei mir bis auf eine kleinigkeit. wie muss der link (<a href="frameset.html?neue_datei.htm" target="_top">Klick</a>) aussehen, damit ich in "neue_datei.htm" auf eine sprungmarke hüpfe?

    a la "neue_datei.htm#sprungmarke" funkt es nämlich nicht.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51