Frameinhalt entsp.aktueller Anzeige ändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frameinhalt entsp.aktueller Anzeige ändern

    Hallo@all

    Ich habe ein Frameset mit drei Frames. header, content, footer.
    Im header befinden sich zwei buttons, mit denen ich eine Sprachauswahl
    für englisch u. deutsch steuere. Alle drei Frames sollen dabei die Sprache wechseln.
    Das ist auch soweit kein Problem, hab dazu folgende function, mit der ich vom header aus den content ändere:
    PHP-Code:
    <script>
    function 
    wechsel(URL,framename){
    parent[framename].location.href URL;
    }
    </
    script>
    ...
    <
    a href="#" onClick="wechsel('content_en.htm','content')">englisch</a
    Mein Problem ist folgendes. Im header befindet sich meine Navigation.
    Der Besucher schaut sich meine Seite an und ändert dabei den Inhalt des content. Er navigiert halt durch meine Seite. Wenn er sich aber jetzt entscheidet die aktuell angezeigte Seite im content auf englisch
    anzuschauen, sollte beim click auf den englisch-link das entsprechende Pendant angezeigt werden.
    Wie kann ich meiner function mitteilen, welche die aktuelle Seite im content ist und wie bringe ich sie dazu, dann das Gegenstück in den content zu laden?

    Irgendwie fehlt mir ein Ansatz.

  • #2
    Re: Frameinhalt entsp.aktueller Anzeige ändern

    Mein Ansatz wäre, die aktuelle location des Content-Frames erst auseinander zu nehmen, denn die hat doch sicher die Form <pagename>_de.html.
    Aus diesem String würde ich den Teil <pagename> extrahieren und _en.html anhängen.

    Kommentar


    • #3
      irgendwie steh ich total auf dem schlauch. heut morgen hab ich es noch geschaft mit javascript dem pfad eines bestimmten frames auszugeben. aber ich bekomms nicht mehr gebacken.
      sollte doch eigent lich folgendermaßen gehen:
      PHP-Code:
      document.write(parent.frames[1].URL); 
      kommt aber nur undefiniert

      Kommentar


      • #4
        Gedächtnis wie'n Goldfisch; gestern noch gewußt, heute schon vergessen?

        http://de.selfhtml.org/javascript/objekte/location.htm

        Kommentar


        • #5
          hatte die letzten Stunden mal wieder etwas Zeit, mich um das Problem zu kümmern.Bisher habe ich folgendes Script im header :
          PHP-Code:
          <script>
          function 
          zeigeURL()
          {
          var 
          self.top.window.frames.content.location.href;
          var 
          pfad a;
          var 
          ary1 = new Array();
          ary1 pfad.split("_");
          alert(ary1[1]);
          }

          </
          script
          ausgelöst wird die funktion durch einen onClick,
          funktioniert auch alles soweit gut. Vielleicht hat ja einer noch ne bessere Idee oder einen Rat für mich. Sobald ich weitergekommen bin,
          poste ich die Fortschritte hier.
          Zuletzt geändert von gruenspan; 29.10.2005, 00:29.

          Kommentar


          • #6
            hab jetzt folgendes script:
            PHP-Code:
            <script>
            function 
            zeigeURLen()
            {
            var 
            pfad self.top.window.frames.content.location.href;
            var 
            pfad_teil = new Array();
            pfad_teil pfad.split("_");

            if(
            pfad_teil[1] == "eins.htm")
              {
              
            parent.content.location.href "content_eins-en.htm";
              
            parent.foot.location.href "foot_en.htm";
              
            location.href "kopf_en.htm";
              }
            if(
            pfad_teil[1] == "zwei.htm")
              {
              
            parent.content.location.href "content_zwei-en.htm";
              
            parent.foot.location.href "foot_en.htm";
              
            location.href "kopf_en.htm";
              }
            if(
            pfad_teil[1] == "drei.htm")
              {
              
            parent.content.location.href "content_drei-en.htm";
              
            parent.foot.location.href "foot_en.htm";
              
            location.href "kopf_en.htm";
              }
            }
            </
            script
            funktioniert soweit gut. Allerdings ist ein weiteres Problem auftgetaucht, die History-Funktion im Browser. Da meinerseits 3 Verweise
            ausgeführt wurden, funktioniert diese nicht mehr wie gewünscht. Ich werde jetzt versuchen das Frameset komplett neu zu laden und so die ausgelesene URL für den content mitzugeben und entsprechend der Sprachauswahl anzupassen.

            Wie gesagt, wer Tipps hat, bitte ...
            Zuletzt geändert von gruenspan; 29.10.2005, 19:55.

            Kommentar


            • #7
              Wie gesagt, wer Tipps hat, bitte ...
              erst gar keine frames mehr verwenden.....
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Vielen Dank Abraxax, aber das bringt mich nicht weiter. Es würde
                nur bedeuten das ich dem Problem aus dem Weg gehe, es aber nicht
                löse.

                ich hatte schon daran gedacht über den link eine variable mit zu schicken
                und so im neu geladenen Frameset den content anzupassen.
                Kann man Javascript-Variablen an PHP übergeben? Da such' ich
                doch gleich mal...
                Zuletzt geändert von gruenspan; 29.10.2005, 17:54.

                Kommentar


                • #9
                  Kann man Javascript-Variablen an PHP übergeben?

                  HIER findest du die Antwort

                  Kommentar


                  • #10
                    Original geschrieben von gruenspan
                    Es würde nur bedeuten das ich dem Problem aus dem Weg gehe, es aber nicht löse.
                    Frames sind das Problem, dem du aus dem Wege gehen solltest.
                    Alle deine Versuche, Workarounds für einzelne Symptome zu basteln, werden das Problem weiterhin bestehen lassen.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      @Tommy75

                      Vielen dank. Dein Tipp hat geholfen

                      @Wahsaga

                      Leider bestand die Aufgabe darin, das Problem eben so zu lösen.
                      Ich mußte also Frames benutzen. Allerdings habe ich daraus gelernt
                      und muß dir darin Recht geben, das Frames das Problem sind.
                      Zuletzt geändert von gruenspan; 29.10.2005, 20:16.

                      Kommentar


                      • #12
                        Und schon wieder ist ein Problem aufgetreten. Hier aber erst mal das Script:
                        header
                        PHP-Code:
                        <script>

                        var 
                        pfad top.window.frames.content.location.href;
                        var 
                        pfad_teil = new Array();
                        pfad_teil pfad.split("_");
                        alert(pfad_teil[1]);

                        kopf "kopf_englisch.htm";
                        fuss "fuss_englisch.htm";

                          if(
                        pfad_teil[1] == "1de.htm")
                          {
                          
                        inhalt "content_1en.htm";
                          
                        document.write('<a href="index.php?inhalt='+inhalt+'&kopf='+kopf+'&fuss='+fuss+'" target="_top">...englisch</a>');
                          }
                          
                          if(
                        pfad_teil[1] == "2de.htm")
                          {
                          
                        inhalt "content_2en.htm";
                          
                        document.write('<a href="index.php?inhalt='+inhalt+'&kopf='+kopf+'&fuss='+fuss+'" target="_top">...englisch</a>');
                          }
                          
                          if(
                        pfad_teil[1] == "3de.htm")
                          {
                          
                        inhalt "content_3en.htm";
                          
                        document.write('<a href="index.php?inhalt='+inhalt+'&kopf='+kopf+'&fuss='+fuss+'" target="_top">...englisch</a>');
                          }



                        inhalt1 "content_1de.htm";
                        inhalt2 "content_2de.htm";
                        inhalt3 "content_3de.htm";
                        document.write('<a href="index.php?inhalt='+inhalt1+'" target="_top">...Inhalt 1</a>');
                        document.write('<a href="index.php?inhalt='+inhalt2+'" target="_top">...Inhalt 2</a>');
                        document.write('<a href="index.php?inhalt='+inhalt3+'" target="_top">...Inhalt 3</a>');

                        </
                        script
                        frameset
                        PHP-Code:
                        <?
                        $kopf = $_GET["kopf"];
                        $inhalt = $_GET["inhalt"];
                        $fuss = $_GET["fuss"];
                        ?>

                        <frameset rows="100,*,100" border="1" frameborder="yes" framespacing="0">
                          <frame src="<? if($kopf != ""){echo $kopf;}else{echo "kopf_deutsch.htm";} ?>" name="kopf">
                          <frame src="<? if($inhalt != ""){echo $inhalt;}else{echo "content_1de.htm";} ?>" name="content">
                          <frame src="<? if($fuss != ""){echo $fuss;}else{echo "fuss_deutsch.htm";} ?>" name="foot">
                        ...
                        das Problem ist, das die Variable (das Array) pfad_teil[1] manchmal undefiniert ist, weshalb der sprachauswahllink dann nicht erscheint, weil die Bedingung nicht erfüllt ist. Allerdings passiert das
                        nur im Firefox, der IE 6.0 macht keine Zicken (zumindest in diesem fall )

                        Kommentar


                        • #13
                          *

                          Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

                          Kommentar


                          • #14

                            Hab das Problem mittels PHP und Sessions lösen können.
                            Ich leg meine Dateien in den Anhang, für diejenigen, die es interessiert...
                            Angehängte Dateien
                            Zuletzt geändert von gruenspan; 18.11.2005, 00:05.

                            Kommentar

                            Lädt...
                            X