Patrick: dynamischer Inhalt in einem DIV ohne die Seite neu zu laden?

Hallo!

Ich bin dabei eine Seite ohne Layout-Tabellen und Frames aufzubauen.
Dabei habe ich aber folgendes Problem. Am oberen Teil der Seite befindet sich eine Flashanimation auf die ich nicht verzichten kann.
Das Problem dabei ist nun, dass diese Animation immer wieder von vorne beginnen würde, wenn die Seite bei Klick auf einen internen Menülink neu geladen werden würde. Das muss ich vermeiden. Es wäre also wichtig, dass diese Animation nicht neu geladen wird. PHP würde demnach wahrscheinlich auch ausfallen und auf Javascript will ich ebenfalls verzichten.

Es wäre sicher das beste, wenn die Seite gar nicht erst neu geladen werden würde, sondern nur die Inhalte in einem DIV.
Wichtig ist dabei, dass sich die Größe (die Höhe) je nach Länge des Inhalts anpasst (ohne Scrollbalken u.ä.) -object fällt damit ja auch aus, oder?

Gibt es eine möglichkeit so etwas zu machen ohne dass ich auf frames o.ä. zurückgreifen muss?

Danke für eure Hilfe.

  1. Hallo,

    deine Anforderungen sind eigentlich mit einem Frameset optimal zu lösen, m.E. klar
    einer dynamischen Seitenerstellung um das Flashobjekt herum vorzuziehen.

    Vielleicht gibt es aber Schnittstellen zur Flashanimation bzw. Script-Möglichkeiten
    in Flash selbst?

    Grüsse

    Cyx23

    1. Danke für die Antwort aber auf Frames möchte ich definitiv verzichten.
      Ich baue meine Seite schon seit längerem ohne Frames und bin auch sehr froh darüber.
      Außerdem passen sich auch frames nicht an die Größe des Inhaltes an weshalb frames für mich nicht in Frage kommen.

      Die Animation ist nicht interaktiv (kein Menü o.ä. drin) und es gibt da auch keine Scripte darin. Ich kann aber dennoch nicht darauf verzichten. Das wird also auch nichts, denn jedesmal wenn das SWF aufgerufen wird, startet es zwangsläufig von vorn. Ich sehe nicht was man da innerhalb von flash machen könnte.

      Die Seite an sich soll ja nicht dynamisch werden. Ich möchte lediglich den Inhalt in einem DIV ändern -eben damit sich das an die Höhe anpassen kann -was ja mit frames nicht geht. -oder eben etwas tun das eine vergleichbare Wirkung hat.

      1. Hi,

        Ich sehe nicht was man da innerhalb von flash machen könnte

        mit CSS erst recht nicht.
        Und wenn Du auch Frames ausschließt, dann bleibt nur noch der Austausch des Flash-Objekts mit einer einfachen Grafik - serverseitig oder über Javascript, wobei Dir z.B. Cookies helfen können (sofern der Besucher sie akzeptiert).

        freundliche Grüße
        Ingo

        1. Nein nein nein, das hast du missverstanden. Ich will NICHTS innerhalb der Flash-Animation machen -schon gar nicht mit CSS. Das war nur ein Vorschlag von Cyx23 der aber -wie ich schrieb- meiner Meinung nach nicht funktionieren kann und worum es auch gar nicht geht.
          Wie ich vorher geschrieben habe, soll die Flash-Animation einfach nur NICHT neu geladen werden wenn man in der Seite navigiert. (Das aber nur als Zusatzinfo)

          Ich habe auch geschrieben, dass ich nicht auf das SWF nicht verzichten kann. -und bei einem Bild hätte ich dieses Problem doch gar nicht -außer bei einem animierten GIF -das geht hier nicht, wäre aber genau das selbe.

          Ich hab jetzt ehrlich gesagt keine Ahnung was du meinst.
          Animation durch Grafik ersetzen -ok. Aber das ist ja das was ich nicht will.
          Und wieso sollte ich dann flash verwenden wenn ich es während des "Betriebes" wieder austausche? Und wieso cleint- bzw. serverseitig? Und was soll ich mit Cookies?
          Ich glaube wir reden völlig aneinander vorbei.

          Nochmal von vorn:

          Das Flash ist ein Filmchen dass fest in die Seite eingebaut ist und (endlos geloopt) abläuft und oben zu sehen ist (außer man scrollt bei viel Text runter). Würde ich auf einen Menülink klicken, würde die Seite komplett neu geladen (da ich ja nicht mit frames arbeite) -und damit auch das Flash -was deshalb wieder von vorn beginnen würde. Das will ich verhindern.

          Deshalb geht es mir darum, Inhalte in einem DIV auszutauschen ohne die Seite (und damit das Flash) neu zu laden.
          Also sollen in diesem Div die Inhalte der Bereiche der Seite angezeigt werden wenn man auf der Seite navigiert.
          Das DIV soll dabei aber je nach Inhalt die Größe ändern können. Das geht bei (i)Frames oder bei Einbindung als object ja schon mal nicht.

          Meine Frage war nun nur ob das mit vernünftigen Mitteln und allgemein funktionierend (also ohne Javascript, Frames, Cookies und ähnliche Katastrophen) irgendwie möglich ist -oder ob es Alternativen gibt.

          Gruß
          Patrick

          1. Hi,

            Nein nein nein, das hast du missverstanden.

            nö.

            Ich hab jetzt ehrlich gesagt keine Ahnung was du meinst.

            Das scheint mir auch so. ;-)

            Animation durch Grafik ersetzen -ok. Aber das ist ja das was ich nicht will.

            Letztendlich doch. Du willst den letzten Frame des Flash-Film beim Neuladen anzeigen. Und wenn das nicht möglich ist (mit Flash kenne ich mich nicht aus), dann könntest Du - nur wenn die Seite neu geladen wird - anstelle des Flash eine Grafik einbinden, die ein Snapshot des letzten Frames darstellt.
            Dein einziges Problem wäre dann noch der Austauch und die Erkennung, ob ein Besucher die Seite bereits (kurz) zuvor aufgerufen hatte.

            Das Flash ist ein Filmchen dass fest in die Seite eingebaut ist und (endlos geloopt) abläuft

            endlos? Dann habe ich Dich vielleicht doch mißverstanden und Du willst den Loop an genau der letzten Stelle fortsetzen? Das dürfte unmöglch sein - und hätte mit CSS überhaupt nichts zu tun.

            Deshalb geht es mir darum, Inhalte in einem DIV auszutauschen ohne die Seite (und damit das Flash) neu zu laden.

            Dazu gibt es in HTML (i)frames und ansonsten evtl. noch Javascript-Lösungen.
            Du könntest natürlich den kompletten Inhalt *aller Seiten* in das HTML-Dokument schreiben und alle bis auf eine mittels CSS ausblenden. Zum Ändern der Ausblendung würdest Du allerdings Javascript benötigen; CSS kennt kein onclick und :hover dürfte Dir nicht reichen.

            Meine Frage war nun nur ob das mit vernünftigen Mitteln und allgemein funktionierend (also ohne Javascript, Frames, Cookies und ähnliche Katastrophen) irgendwie möglich ist -oder ob es Alternativen gibt.

            So gefragt: Nein.

            freundliche Grüße
            Ingo

            1. Wie gesagt: ICH WEISS!!! Ich wiederhols gern noch mal. Ich will das Flash in keiner Weise steuern, manipulieren oder sonstwas. ES IST EINFACH NUR DA!
              Ok, vergessen wir das Flash: War wie gesagt nur als Hintergrundinfo.

              Nochmal: Ich weiß das es (i)frames gibt und ich will definitiv keine verwenden. Nicht nur weil sie keinem Standard entsprechen, sondern weil sie sich auch nicht an den Inhalt wanpassen wie ein DIV (oder meinetwegen eine Tabelle)

              Soll aber jetzt keine Grundsatzdiskussion zu Frames sein. Davon gibts schon genug ;)

              Dieser Vorschlag leuchtet mir jetzt sogar ein und die Idee ist gar nicht so schlecht. Ich hatte schon an etwas ähnliches gedacht.  Man kann mit visibility:hidden und javascript arbeiten. Aber alles in eine Seite zu schreiben wird bei dem Umfang der Seite nichts. Und das würde auch die Wartung und anderes sehr erschweren. Und wie gesagt: Javascript möchte ich nicht benutzen.

              Na gut, dann muss ich mir wohl irgendwas anderes ausdenken.

              Trotzdem vielen Dank! :)

              Patrick

              1. Hallo Patrick

                Nochmal: Ich weiß das es (i)frames gibt und ich will definitiv keine verwenden. Nicht nur weil sie keinem Standard entsprechen, ...

                Keinem Standard ist nicht ganz richtig, sie entsprechen lediglich nicht der
                Strict-Variante.

                ... sondern weil sie sich auch nicht an den Inhalt wanpassen wie ein DIV (oder meinetwegen eine Tabelle)

                Du schriebst: "Am oberen Teil der Seite befindet sich eine Flashanimation".
                Die Größe des Flashs ist bekannt, damit könntest du ein Frameset verwenden,
                wobei der obere Frame der Höhe des Flashs entspricht.

                OK, das willst du nicht.

                Und das würde auch die Wartung und anderes sehr erschweren. Und wie gesagt: Javascript möchte ich nicht benutzen.

                Ohne Javascript wird es wohl nicht gehen, aber du musst dich nicht von
                diesem abhängig machen.
                Wäre es denn akzeptabel, wenn das Flash bei aktiviertem Javascript
                weiterläuft und nur, wenn es nicht verfügbar ist, bei jedem Seitenwechsel
                neu beginnt?

                Du könntest ganz normale Seiten mit Links auf die anderen erstellen.
                Nur, wenn Javascript verfügbar ist, wird der Seitenaufruf abgefangen und
                stattdessen lediglich der Inhalt ausgetauscht.

                Auf Wiederlesen
                Detlef

                --
                - Wissen ist gut
                - Können ist besser
                - aber das Beste und Interessanteste ist der Weg dahin!
                1. Hallo Detlef!

                  Naja gut. Du hast recht aber ich bin trotzdem kein Freund von Frames. Und für den Inhaltsbereich möchte ich sie nicht, weil sie sich wie ja gesagt nicht an den Inhalt anpassen.

                  Hm, in die Richtung habe ich ja noch gar nicht gedacht. Sehr guter Gedanke:
                  Wenn das bei den 2% Usern mit deaktiviertem Java-Script neu beginnen würde, wäre das absolut zu verschmerzen.

                  Hier ürbrigens nur mal zur Ansicht der aktuelle Stand der Seite. Macht das ganze vielleicht etwas deutlicher.
                  http://www.pat-the-cat.de/ (nicht erschrecken ;) )
                  Es geht da also um den vorbeiziehenden Himmel der langsam die Farbe wechselt.

                  -derzeit unten mit einem iframe gemacht, doch das möchte ich ja ändern.

                  Das Menü soll mit in den Inhaltsbereich Ich werde mir mal Gedanken machen ob ich das mit Javascript hinkriege.

                  Danke sehr,

                  Patrick

                  1. Hallo Patrick

                    Naja gut. Du hast recht aber ich bin trotzdem kein Freund von Frames. Und für den Inhaltsbereich möchte ich sie nicht, weil sie sich wie ja gesagt nicht an den Inhalt anpassen.

                    Für die Framelösung wäre das Flash auch viel zu groß.

                    http://www.pat-the-cat.de/ (nicht erschrecken ;) )
                    Es geht da also um den vorbeiziehenden Himmel der langsam die Farbe wechselt.

                    Da ist kein Himmel, nur der freundliche Hinweis, dass ein Plugin fehlt ;-).
                    (Ich habe kein Flash, weil das meist nur nervt.)
                    Hast du übrerhaupt an die flashlosen Seitenbesucher gedacht?
                    Wohl nicht.

                    Schau dir mal an, wie Jeena das gelöst hat, bei ihm bekomme ich ohne Flash
                    ein statisches Bild.

                    Auf Wiederlesen
                    Detlef

                    --
                    - Wissen ist gut
                    - Können ist besser
                    - aber das Beste und Interessanteste ist der Weg dahin!
                    1. Hallo Detlef,

                      Das Versteh ich jetzt nicht. Wieso ist das Flash zu groß für Frames?
                      Die Dateigröße oder die Abmessung oder was?

                      Ja gut, das ist ja erst mal nur das Grundgerüst und solange das mit dem Flash nicht klappt wäre es ziemlich sinnlos da jetzt schon die Alternativversion zu basteln. Immer schön der Reihe nach. Ein statisches Bild kann ich später immer noch anbieten.
                      Das wird ein private Homepage und die Anzahl der flashlosen Besucher wird da sehr "überschaubar" bleiben
                      Aber die Idee ist natürlich gut und das werde ich sicher auch noch machen falls ich das hier zum laufen bringe.

                      Das mit dem Nicht-Installieren das Plugins kann ich persönlich allerdings nicht so ganz nachvollziehen. Mich nervt der Hinweis auf ein fehlendes Plugin wesentlich mehr als (zugeggebenerweise teilweise schon lästige)
                      Flash-Sachen aber es ist natürlich deine gutes Recht Flash abzulehnen und ich will keinen dazu zwingen. Es soll aber trotzdem funktionieren.

                      Patrick

                      1. Hallo Patrick

                        Das Versteh ich jetzt nicht. Wieso ist das Flash zu groß für Frames?
                        Die Dateigröße oder die Abmessung oder was?

                        Ich meinte von den Abmessungen. Bei einer Höhe von 300px bliebe meiner
                        Meinung zu wenig Platz für den Rest der Seite, wenn es nicht mitscrollen
                        würde.

                        Mich nervt der Hinweis auf ein fehlendes Plugin wesentlich mehr als (zugeggebenerweise teilweise schon lästige) Flash-Sachen ...

                        Der Hinweis ist auch nervig. Ich empfinde aber sehr viele Flashs als noch
                        nerviger.

                        ... aber es ist natürlich deine gutes Recht Flash abzulehnen und ich will keinen dazu zwingen. Es soll aber trotzdem funktionieren.

                        Ich lehne Flash nicht grundsätzlich ab, eher die Plugins, die sich, einmal
                        installiert, nicht so einfach an- und abschalten lassen.
                        Javascript, animierte Grafiken oder überhaupt Grafiken, Farben, Schriftarten
                        oder das gesamte CSS, ein Klick und sie sind da oder weg, je nachdem ob ich
                        sie gerade haben will oder nicht.
                        Die Extensionen, die das bei Flash tun sollten haben dies bei mir bisher nie
                        wirklich zuverlässig getan. Manchmal konnte ich klicken solange ich wollte,
                        das Flash verschwand nicht, dann wieder lies sich das Plugin nicht wieder
                        aktivieren, so dass ich es neu installieren musste.
                        Als ich den Rechner dann sowieso neu aufsetzen musste, habe ich kein Flash
                        mehr installiert.

                        Auf Wiederlesen
                        Detlef

                        --
                        - Wissen ist gut
                        - Können ist besser
                        - aber das Beste und Interessanteste ist der Weg dahin!
                        1. Ich meinte von den Abmessungen. Bei einer Höhe von 300px bliebe meiner
                          Meinung zu wenig Platz für den Rest der Seite, wenn es nicht mitscrollen
                          würde.

                          Hallo Detlef!

                          Achso. Also das Flash soll auf jeden Fall nicht stehen bleiben sondern genau wie der rest der seite mitscrollen. Von daher sehe ich da kein größeres Problem weil der Platz nach unten ja nicht begrenzt ist-

                          Mich nervt der Hinweis auf ein fehlendes Plugin wesentlich mehr als (zugeggebenerweise teilweise schon lästige) Flash-Sachen ...

                          Der Hinweis ist auch nervig. Ich empfinde aber sehr viele Flashs als noch
                          nerviger.

                          Gut, das mag sein. Ist sicher Ansichtssache. Ich weiß Flash jedenfalls schon zu schätzen auch wenn ich nicht mit allen Eigenschaften und Verwendungen einverstanden bin.

                          Ich lehne Flash nicht grundsätzlich ab, eher die Plugins, die sich, einmal
                          installiert, nicht so einfach an- und abschalten lassen.
                          Javascript, animierte Grafiken oder überhaupt Grafiken, Farben, Schriftarten
                          oder das gesamte CSS, ein Klick und sie sind da oder weg, je nachdem ob ich
                          sie gerade haben will oder nicht.
                          Die Extensionen, die das bei Flash tun sollten haben dies bei mir bisher nie
                          wirklich zuverlässig getan. Manchmal konnte ich klicken solange ich wollte,
                          das Flash verschwand nicht, dann wieder lies sich das Plugin nicht wieder
                          aktivieren, so dass ich es neu installieren musste.
                          Als ich den Rechner dann sowieso neu aufsetzen musste, habe ich kein Flash
                          mehr installiert.

                          Verstehe, das kann ich natürlich gut nachvollziehen.

                          Jedem wie er es mag. :)

                          Gruß,
                          Patrick

                      2. Hi,

                        was mich wundert: wieso lehnst Du Javascript ab, wenn doch Flash weitaus öfter nicht zur Verfügung steht.

                        freundliche Grüße
                        Ingo

                        1. Hi,

                          was mich wundert: wieso lehnst Du Javascript ab, wenn doch Flash weitaus öfter nicht zur Verfügung steht.

                          freundliche Grüße
                          Ingo

                          Nun, Flash ist nach meinem letzten Kenntnisstand bei ungefähr 95% der User aktiviert, Javascript bei 98%. Von daher ist das wohl richtig aber so wesentlich ist der Unterschied nicht.
                          Das ist aber nicht der Grund warum ich auf Javascript verzichten möchte.

                          Bei Flash weiß ich, dass es (wenn es läuft) überall genau so funktioniert und aussieht wie bei mir und dass es auch brav in seinem  object-container bleibt und da keinen Blödsinn macht.

                          JS ist da leider eine ganz andere Geschichte. Was beim IE klappt muss noch lange nicht bei Firefox klappen und umgekehrt. Von Opera und Co ganz zu schweigen. Ich mag Javascript -man kann tolle Sachen damit machen aber ich habe leider die Erfahrung gemacht dass man oft besser drauf verzichtet. Ich schließe es auf eine privaten Homepage auch nicht aus, aber ich will definitiv keine wichtige Funktion wie das Navigationsmenü oder dergelichen daran hängen. Es muss verzichtbar bleiben.

                          -und darum ging es ja. Ich muss irgendwie den Inhalt in einem DIV wechseln und hatte gehofft man kann das mit sauberen Mitteln machen die in CSS, DHTML oder etwas ähnlichem vorgesehen sind.

                          Schade eigentlich. Wäre meiner Meinung nach eine sehr wichtige Funktion.

                          Trotzdem danke für eure Mühe
                          Patrick

                          1. -und darum ging es ja. Ich muss irgendwie den Inhalt in einem DIV wechseln und hatte gehofft man kann das mit sauberen Mitteln machen die in CSS, DHTML oder etwas ähnlichem vorgesehen sind.

                            Schade eigentlich. Wäre meiner Meinung nach eine sehr wichtige Funktion.

                            Irgendwie verstehe ich dich nicht. Es gibt diese sehr wichtige Funktion und sie ist auch sauber: Frames

                            genau dafür sind sie da und wenn du denkst du hast die Funktionalität nötig solltest du sie auch verwenden.

                            Du möchtest aber eine Eierlegende Wollmilchsau, die Funktionalität von Frames ohne deren Nachteile

                            Struppi.

                          2. Hi,

                            Nun, Flash ist nach meinem letzten Kenntnisstand bei ungefähr 95% der User aktiviert,

                            sagt wer? Herstellerangaben sollte man stets kritisch betrachten. Nach unabhängigen Statistiken sind es weitaus weniger.

                            freundliche Grüße
                            Ingo