john1967: Struppis Script - Buttons von einem anderen Frame aus steuern

Hallo nochmals...

Ich habe gestern mal was gepostet, jetzt bin ich weiter:

Bei dem Menu auf:

http://www.theater-buenzen6.ch.vu/

verwende ich Struppis Mouseover-Skript:
http://home.arcor.de/struebig/js/mouse_over/mouse_over.htm

und ein anderes Script, um die Menus aufklappar zu haben.

Jetzt ist da aber noch das Problem, dass wenn man zurück und vorwärts drückt im Browser, dass dann das Menu nicht mitändert.

Struppi, oder irgendwer:

Wie kann ich aus den jeweiligen Seiten per onLoad die Knöpfe des Menus steuern, also z.B. aus aktuelles.html den Knopf Aktuelles aktivieren, wenn die Seite geladen wird?

Ich wär sehr dankbar um eine möglichst präzise Antwort. Bin noch ziemlich noob.

  1. Jetzt ist da aber noch das Problem, dass wenn man zurück und vorwärts drückt im Browser, dass dann das Menu nicht mitändert.

    Das ist ein Problem von Frames, prinzipiell sollten Frames sowieso vermieden Die Nachteile überwiegen die (sogenannten) Vorteile.

    Du kannst dir aber behelfen, wenn du auf allen Seiten window.name = 'buttonX' einbaust wobei x entsprechnd dem Button ist, der aktiviert werden soll.

    Struppi.

    1. Tönt logisch, danke... nur wie muss das genau heissen?

      Muss ich auf jeder Seite dann in den head-abschnitt javs script tun, in dem nur? window.name etc. steht?

      also irgendwie

      <script>
      window.name = 'button_home'
      <script>

      ? oder brauchts noch was mehr?

      onLoad?

      oder nicht?

      1. also irgendwie

        <script>
        window.name = 'button_home'
        <script>

        ? oder brauchts noch was mehr?

        ja, wenn sie so heißen bei dir.

        ach ich merk grad...

        Richtig ist top['menuframeName'].name da du ja mit Frames arbeitest
        und zusätzlich:

        top['menuframeName'].start_mouse_over();

        damit der Button auch verändert wird.

        onLoad?

        nö irgendwo.

        Struppi.

        1. sorry wenn ichs immer noch nicht begreiffe...

          sollte es dann auf der seite aktuelles.html nicht so heissen?

          <script>
          top['menu'].name = 'button_aktuelles'
          top['menu'].start_mouse_over();
          </script>

          damit der button mit namen 'button_aktuelles' aktiviert (/in den stay-zustand versetzt) wird?

          mein menu-frame heisst menu...

          ich wär sehr froh, wenn ich das prob lösen könnte.... danke

          1. sorry wenn ichs immer noch nicht begreiffe...

            sollte es dann auf der seite aktuelles.html nicht so heissen?

            <script>
            top['menu'].name = 'button_aktuelles'
            top['menu'].start_mouse_over();
            </script>

            damit der button mit namen 'button_aktuelles' aktiviert (/in den stay-zustand versetzt) wird?

            tut's nicht?

            Struppi.

            1. ne, es nützt leider nichts...

              muss da nicht noch irgendwie was von mouse_over.js rein?

              1. ne, es nützt leider nichts...

                muss da nicht noch irgendwie was von mouse_over.js rein?

                nö eigentlich nicht.
                fehlermeldung?

                Wie gesagt das beste ist du verzichtest auf Frames dann geht alles von alleine.
                http://www.subotnik.net/html/frames.html

                Struppi.

                1. Nützts etwas wenn ich ein iframe mache?

                  1. Bitte Struppi, schaus noch einmal an!! :)

                    www.theater-buenzen-v21.ch.vu

                    Version 2.1 jetzt online!

                    Jetzt läuft die ganze Page nicht mehr mit Frames, sondern mit iframes!

                    Zudem regeln jetzt die Pages selber, welcher Button aktviert wird. Also genau so, wie wir zuvor besprochen hatten!

                    Leider ist aber irgendwie bei dieser Methode immer noch ein Fehler da!!...

                    Du merkst es wohl selber, die Knöpfe bleiben immer gedrückt.. und kommen nicht rauf, wenn man auf einen anderen drückt... sonst ist jetzt perfekt.

                    Ist das ein einfach zu lösendes Problem? (ich hoffe es...)

                    Für deine Hilfe wär ich wirklich sehr dankbar!

                    1. Hi,
                      ich frage mich ja doch, warum Du die Sache so kompliziert machst.
                      Und jetzt mit iframes statt Frames... da könntest Du doch auch gleich framelose Seiten erstellen und hättest auch einige andere Probleme weniger.

                      übigens ist mir auch aufgefallen, daß Dein Button-Problem (bis auf die Frames) hier exakt so nochmal zu finden ist unter [pref:t=55841&m=311820] und der Fortsetzung unter [pref:t=55954&m=312573].

                      freundliche Grüße
                      Ingo

                      1. Hallo Ingo

                        Danke für deine Antwort

                        Ich mache es "so kompliziert", da ich keine andere Methode weiss, bei der nicht jedes Mal das Menu neu geladen werden muss!

                        Kennst du eine Alternative? Ich hab noch nicht soviel Ahnung vom Webseitenbau.

                        Die iframes haben zumindest den Vorteil beim drucken der Seiten.

                        Die beiden Links, die du gepostet hast, helfen mir nicht wirklich weiter, da ich 1. mit Struppis Script schon so weit gekommen bin, 2. mir dort nirgendwo geholfen wird wegen dem Problem, vom Browser rückwärts und vorwärts-Knopf...

                        Ich versuch das ganze jetzt mal neu mit einem anderen Script, nämlich mit dem "automatischen" Erstellungstool vom Macromedia Dreamweaver.

                        Ich hoffe mal, das funktioniert.

                        P.S.: Bei Struppis Script bin ich noch einiges weiter gekommen, habe es bereits geschafft herauszufinden, warum die Knöpfe bei Version 2.1 immer unten bleiben, nämlich weil die start_mouse_over()-Funktion mehrmals gestartet wird...

                        Ich wär weiterhin sehr froh um spezifische Hilfe.

                        1. Hi,

                          Ich mache es "so kompliziert", da ich keine andere Methode weiss, bei der nicht jedes Mal das Menu neu geladen werden muss!

                          Warum denn nicht? Echte Vorteile bringen Dir Frames in dieser Beziehung nicht, insbesondere nicht bei der Lade_zeit_.
                          Ich denke, dazu wirst Du hier im Archiv jede Menge Möglichkeiten finden, ein Menü einzubinden z.B. serverseitig oder, wenn das nicht geht, einfach den Code in den Editor einfügen bzw. eine Includefunktion des Editors - soweit vorhanden - nutzen.

                          Die iframes haben zumindest den Vorteil beim drucken der Seiten.

                          das kein Vorteil ggü. framelosen Seiten, aber immerhin ein Nachteil weniger ggü. normalen Frames.

                          Die beiden Links, die du gepostet hast, helfen mir nicht wirklich weiter, da ich 1. mit Struppis Script schon so weit gekommen bin, 2. mir dort nirgendwo geholfen wird wegen dem Problem, vom Browser rückwärts und vorwärts-Knopf...

                          Nun, wenn Du auf Frames verzichtest, ist auch dieses (Frame-)problem gelöst.

                          freundliche Grüße
                          Ingo

                          1. Warum denn nicht? Echte Vorteile bringen Dir Frames in dieser Beziehung nicht, insbesondere nicht bei der Lade_zeit_.

                            Mein menu ist mindestens 10 kb zum laden.. das möcht ich nicht jedes mal neu laden....

                            Ich denke, dazu wirst Du hier im Archiv jede Menge Möglichkeiten finden, ein Menü einzubinden z.B. serverseitig oder, wenn das nicht geht, einfach den Code in den Editor einfügen bzw. eine Includefunktion des Editors - soweit vorhanden - nutzen.

                            ich werd mal suchen, ich hoffe nur ich find eine gute lösung...

                            Die iframes haben zumindest den Vorteil beim drucken der Seiten.
                            das kein Vorteil ggü. framelosen Seiten, aber immerhin ein Nachteil weniger ggü. normalen Frames.

                            jo, das meinte ich, aber hab gleich gemerkt, dass es auch nicht extrem viel besser ist, je nach browser! :)

                            Ich hoff, ich find für mich eine gute lösung ohne frames, sonst verzweifle ich noch daran...

                            1. Hi,

                              Warum denn nicht? Echte Vorteile bringen Dir Frames in dieser Beziehung nicht, insbesondere nicht bei der Lade_zeit_.

                              Mein menu ist mindestens 10 kb zum laden.. das möcht ich nicht jedes mal neu laden....

                              entschuldige bitte, aber hier irrst Du gewaltig.

                              1. hast Du in diesem Menü den kompletten Javascript-Code. Diesen könnte man einerseits auslagern, andererseits wird bei einer CSS-Lösung ja ohnehin nicht mehr gebraucht.
                              2. werden die Button-Grafiken im Browsercache gespeichert und müssen nicht erneut übertragen werden. Und wenn Du die Methode mit unbeschrifteten Buttons wählst, sparst Du von den 12 Grafiken 10 Stück ein.

                              freundliche Grüße
                              Ingo

                              1. kann gut sein, dass ich mich da irre... ich hab bis jetzt auf jeden fall nur gesehen, wie das ganze menu immer neu geladen wird, egal ob im cache und so, auch wenns nicht viel laden ist, es geht mir darum, dass ich will, dass das menu immer sichtbar ist! d.h. auch wenn eine seite geladen wird...

                                zu 1) der js-code ist zum grössten teil ausgelagert, es könnte noch mehr augelagert werden, es ist eher 10 kb + wegen den grafiken.

                                Was ist bitte eine CSS-lösung? ich such mal danach...

                                zu 2) deine methode mit den unbeschrifteten buttons ist schon gut und recht, für mich aber nicht schön genug. ich verwende auf den buttons eine schrift, die man mit deiner methode nicht brauchen könnte. ich werde bei den vielen grafiken bleiben...

                                Schlag mir doch bitte mal eine Methode vor, bei der das menu immer sichtbar bleibt, gehighlighted werden kann, die buttons gedrückt werden können, und vor allem eine lösung, bei der die buttons mit den zurück und forwärts knöpfen mitmachen! Ich hab wirklich keine grosse ahnung von non-frame webseiten... :)

                                Ich wär wirklich sehr froh um so etwas.. ich hoffe es ist überhaupt möglich... :)

                                1. Hi,

                                  zu 1) der js-code ist zum grössten teil ausgelagert, es könnte noch mehr augelagert werden, es ist eher 10 kb + wegen den grafiken.

                                  ... und der könnte (wenn er denn gebraucht würde) wie gesagt ausgelagert (=in eine extra Datei geschrieben) werden, die dann aus dem Cache geholt wird.

                                  zu 2) ... ich verwende auf den buttons eine schrift, die man mit deiner methode nicht brauchen könnte.

                                  kann ich nachvollziehen. Aber auch das (mit entsprechend je einer Klasse für jeden Link) läßt sich über CSS lösen.

                                  Schlag mir doch bitte mal eine Methode vor, bei der das menu immer sichtbar bleibt, gehighlighted werden kann, die buttons gedrückt werden können, und vor allem eine lösung, bei der die buttons mit den zurück und forwärts knöpfen mitmachen! Ich hab wirklich keine grosse ahnung von non-frame webseiten... :)

                                  Zum "immer sichtbar": position:fixed; und den Workaround http://www.fabrice-pascal.de/artikel/posfixedie6/ für den IE.

                                  Für's Highlighten: CSS. Z.B. mein Beispiel http://www.1ngo.de/web/buttons.html etwas erweitern und Deine beschrifteten Buttons ohne Linktext (dann aber mit title) in den Hintergrund legen (fände ich nicht so sinnvoll) oder besser: zwei unbeschriftete Buttons in den Hintergrund legen und reine Schriftgrafiken mit transparentem Hintergrund anstelle von Textlinks dort verwenden.
                                  In den einzelnen Seiten müßtest Du dann nur noch die Klasse für den hier aktuellen Button entsprechend ändern, so daß der "gedrückte" bei allen Linkzuständen angezeigt wird.
                                  Ich gebe ja zu, daß es etwas komplizierter ist, aber es funktioniert ohne Javascript und spart auch deutlich Ladezeit (zumal wenn Du das CSS auslagerst).

                                  freundliche Grüße
                                  Ingo

                                  1. zu 2) ... ich verwende auf den buttons eine schrift, die man mit deiner methode nicht brauchen könnte.
                                    kann ich nachvollziehen. Aber auch das (mit entsprechend je einer Klasse für jeden Link) läßt sich über CSS lösen.

                                    ok... das heisst ich wag mich jetzt daran, die ganze page neu mit css zu schreiben... nur ich hab noch nicht wirklich gross eine ahnung von css... wie lern ich das am einfachsten? kennst du ein gutes online-tutorial?

                                    ich dachte immer, css wird nur verwendet, um die links in irgendwelchen stilen darzustellen... aber anscheinend kann es ja noch mehr...

                                    In den einzelnen Seiten müßtest Du dann nur noch die Klasse für den hier aktuellen Button entsprechend ändern, so daß der "gedrückte" bei allen Linkzuständen angezeigt wird.

                                    hmm... also was ist das mit dieser klasse?

                                    ich begreif irgendwie die überlegung hinter dem ganzen nicht so ganz.

                                    Das heisst, wenn ich links ein menu habe, und rechts die seiten darstellen will... wie unterteile ich das dann? mit einer tabelle? oder braucht das mit css gar keine tabelle? wie "referiere" von links nach rechts? also sind das dann immer noch links mit a href??

                                    das begreiffe ich irgendwie nicht so..

                                    wär froh wenn du mir die grund-idee dahinter noch so irgendwie erklären könntest...

                                    Ich gebe ja zu, daß es etwas komplizierter ist, aber es funktioniert ohne Javascript und spart auch deutlich Ladezeit (zumal wenn Du das CSS auslagerst).

                                    ok, das wär ja gut.. ich muss es einfach noch lernen, eigentlich scheue ich ja davor nicht zurück... javascript mach ich auch erst seit mittwoch... :)

                                    gruss Hannu

                                    1. Hi,
                                      nur ich hab noch nicht wirklich gross eine ahnung von css... wie lern ich das am einfachsten? kennst du ein gutes online-tutorial?
                                      Installiere Dir http://aktuell.de.selfhtml.org/extras/download.shtml - dort solltest Du erst mal genug zum lernen finden.
                                      Ansonsten gefällt mir z.B. auch http://www.style-sheets.de/ sowie http://www.css-technik.de/ und http://jendryschik.de/wsdev/einfuehrung/ ganz gut.

                                      ich dachte immer, css wird nur verwendet, um die links in irgendwelchen stilen darzustellen... aber anscheinend kann es ja noch mehr...

                                      ;-) sicher doch. wobei hier ja eigentlich auch nur ein "Stil" verwendet wird, nämlich für den Hintergrund eine Grafik angegeben wird.

                                      hmm... also was ist das mit dieser klasse?

                                      wenn Du Dich etwas eingelesen hast, wirst Du auch schnell das Konzept der Klassen (class=...) begreifen, über die man CSS-Eigenschaften gezielt bestimmten Elementen zuweisen kann.

                                      Das heisst, wenn ich links ein menu habe, und rechts die seiten darstellen will... wie unterteile ich das dann? mit einer tabelle? oder braucht das mit css gar keine tabelle? wie "referiere" von links nach rechts? also sind das dann immer noch links mit a href??

                                      Hier würfelst Du wieder alles durcheinander.
                                      Für das Layout (links die Links und rechts der Inhalt) wird CSS eingesetzt - ohne Tabellen zu mißbrauchen. Da hier keine Frames mehr vorhanden sind, gibt es natürlich kein Target mehr. Also reicht für einen Verweis <a href="ziel.html">Ziel</a> bereits aus. Natürlich beinhaltet dann jede einzelne Seite dieses Gerüst mit der Navigation. Ich hoffe, das war jetzt klar genug...

                                      freundliche Grüße
                                      Ingo

                                      1. Hi,
                                        nur ich hab noch nicht wirklich gross eine ahnung von css... wie lern ich das am einfachsten? kennst du ein gutes online-tutorial?
                                        Installiere Dir http://aktuell.de.selfhtml.org/extras/download.shtml - dort solltest Du erst mal genug zum lernen finden.
                                        Ansonsten gefällt mir z.B. auch http://www.style-sheets.de/ sowie http://www.css-technik.de/ und http://jendryschik.de/wsdev/einfuehrung/ ganz gut.

                                        ok, danke, ich hab mich in der zwischenzeit bereits auf einer englischen seite eingelesen.. jetzt verstehe ichs schon besser.

                                        Hier würfelst Du wieder alles durcheinander.
                                        Für das Layout (links die Links und rechts der Inhalt) wird CSS eingesetzt - ohne Tabellen zu mißbrauchen. Da hier keine Frames mehr vorhanden sind, gibt es natürlich kein Target mehr. Also reicht für einen Verweis <a href="ziel.html">Ziel</a> bereits aus. Natürlich beinhaltet dann jede einzelne Seite dieses Gerüst mit der Navigation. Ich hoffe, das war jetzt klar genug...

                                        und die navigation bleibt dann wirklich immer sichtbar, wenn man einen link anklickt? weil sowas wollt ich irgendwie eigentlich erreichen... aber eigentlich ist mir das jetzt auch nicht mehr so wichtig, hauptsache es funktioniert und sieht gut aus.. und mir gefällt die philosophie von css, daher werde ich sowieso das lernen! :)

                                        danke für deine hilfe!

                                        1. Hi,

                                          und die navigation bleibt dann wirklich immer sichtbar, wenn man einen link anklickt?

                                          Im beispiel2 von Fabrice Pascal siehst Du es... würden die Links hier auf andere Seiten mit demselben Layoutgerüst verweisen, stünde die Navigation dann natürlich auch wieder an derselben Stelle.

                                          und mir gefällt die philosophie von css, daher werde ich sowieso das lernen! :)

                                          Sehr guter Entschluß (wieder jemand bekehrt..;-)

                                          freundliche Grüße
                                          Ingo

            2. hei... jetzt gehts.. war wohl prob mit cache..

              hei aber der knopf bleibt jetzt immer in der stay-position, er sollte aber wieder in normal gehen, wenn man en anderen drückt...