michschu: Ablösung von Frames

Hallo,

wegen der bekannten Nachteile mit Frames würde ich diese gerne in meiner Website ablösen und durch ädaquate Technik ersetzen (Server Side Includes, CSS).

Folgendes Frameset wäre der Einfachheit halber die Ausgangsposition:

<frameset cols="50%,50%" framespacing="0" border="0" frameborder="0">
  <frame name="links" src="links.htm" marginwidth="0" marginheight="0" scrolling="no" noresize target="rechts">
  <frame name="rechts" src="rechts.htm" marginwidth="0" marginheight="0" scrolling="no" noresize>
</frameset>

In links.htm enthalte ich <a href>-Tags, die weitere Pages in 'rechts' anzeigen.

Wie sähe alternativer Code dazu aus, ohne dass jedes Mal z.B. die Hintergrundgrafik von links.htm übertragen wird, bzw. ich nicht jedes Mal für eine 'rechts'-ersetzende Page den selben Code schreiben muß (ausser vielleicht für ein 'Include')?

Ginge das ggfs. auch mit AJAX? Wenn ja, wie (ich will zukünftig ASP.NET nutzen)?

Danke im Voraus, Fritz

  1. Hi,

    Wie sähe alternativer Code dazu aus, ohne dass jedes Mal z.B. die Hintergrundgrafik von links.htm übertragen wird, bzw. ich nicht jedes Mal für eine 'rechts'-ersetzende Page den selben Code schreiben muß (ausser vielleicht für ein 'Include')?

    oben hast Du noch gesagt, dass Du Frames wegen seiner Nachteile ablehnst, und jetzt suchst Du eine Alternative, die die selben Nachteile besitzt? Das ergibt auf den ersten Blick keinen Sinn, und siehe da, es macht auch keinen.

    Ginge das ggfs. auch mit AJAX?

    Wenn Du erst mal dafür gesorgt hast, dass jede einzelne Seite *einzeln* existiert, also ohne jedweden Kontext (eines der Grundprinzipien von HTTP!) vollständig nutzbar ist, dann kannst Du Dich mit den Nachteilen auseinander setzen, die ein aufgesetztes AJAX mit sich führt (beispielsweise Verhunzung der History). Erst mal mach es aber ohne dies.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Cheatah,

      offensichtlich verstehen wir uns miß. Gem. http://de.wikipedia.org/wiki/Frame_(HTML) sind u.a. die Nachteile wie 'Suchmaschinen-Adressierung' und 'Feste Größe' und für mich relevant. Daher will ich Frames ablösen.

      Einen der gem. http://de.wikipedia.org/wiki/Frame_(HTML) genannten Vorteile von Frames ("um beispielsweise die Navigation zentral in einem HTML-Dokument zu verwalten und nicht bei jeder neuen Seite aufs neue einfügen zu üssen") möchte ich jedoch mit alternativer Technologie nutzen.

      Wie also kann ich dies bewirken?

      Danke, Fritz

      1. Mahlzeit michschu,

        Einen der gem. http://de.wikipedia.org/wiki/Frame_(HTML) genannten Vorteile von Frames ("um beispielsweise die Navigation zentral in einem HTML-Dokument zu verwalten und nicht bei jeder neuen Seite aufs neue einfügen zu üssen") möchte ich jedoch mit alternativer Technologie nutzen.

        Wie also kann ich dies bewirken?

        Indem Du die bestimmten Bereiche (z.B. die o.g. Navigation) - und zwar NUR den entsprechenden Bereich, KEIN vollständiges HTML-Dokument - in eine separate Datei packst und dann in allen (ansonsten vollständigen) HTML-Dokumenten, die diesen Bereich beinhalten sollen, diese Datei mittels geeigneter Technologien (http://de.selfhtml.org/servercgi/server/ssi.htm@title=SSI, PHP usw.) einbindest.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      2. Hi,

        offensichtlich verstehen wir uns miß. Gem. http://de.wikipedia.org/wiki/Frame_(HTML) sind u.a. die Nachteile wie 'Suchmaschinen-Adressierung' und 'Feste Größe' und für mich relevant. Daher will ich Frames ablösen.

        Du willst sie durch etwas ersetzen, was die exakt selben Nachteile hätte.

        Einen der gem. http://de.wikipedia.org/wiki/Frame_(HTML) genannten Vorteile von Frames ("um beispielsweise die Navigation zentral in einem HTML-Dokument zu verwalten und nicht bei jeder neuen Seite aufs neue einfügen zu üssen") möchte ich jedoch mit alternativer Technologie nutzen.

        Wie also kann ich dies bewirken?

        Das ist eine der simpelsten Mechaniken, die ungefähr jede serverseitige Technik bietet. Dies, so entnahm ich es Deinem Ursprungsposting, hattest Du bereits verstanden. Wie also lautet Dein Problem?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      3. Hi,

        offensichtlich verstehen wir uns miß. Gem. http://de.wikipedia.org/wiki/Frame_(HTML) sind u.a. die Nachteile wie 'Suchmaschinen-Adressierung' und 'Feste Größe' und für mich relevant.

        Mit ersterem hatte ich noch nie Probleme (und ich habe Frames von Anbeginn genutzt), und die Größe kann man mit JS ändern (jedenfalls wenn das automatisch erfolgen soll - manuell geht es ja ohnehin). Und Ajax ist auch JS.

        Aber ...

        Daher will ich Frames ablösen.

        ... das finde ich trotzdem nicht verkehrt, denn geschätzte 99% der Frame-Nutzer wissen nicht, was sie tun - und machen es deswegen schlecht.

        Also gut, daß Du dich jetzt informierst, denn mit Ajax sieht es nicht anders aus ...

        Gruß, Cybaer

        --
        Zweck des Disputs oder der Diskussion soll nicht der Sieg, sondern der Gewinn sein.
        (Joseph Joubert, Schriftsteller)
        1. Und Ajax ist auch JS.

          Natürlich, aber auch ohne JavaScript ist eine vernünftig gebaute Seite ohne Frames bedienbar und verfügt über vollständige Dokumente.

          Bei einer Frame-Lösung die gut gebaut ist, verschandelt man sich die einzelnen losen (obowowohl zusammengehörigen Dokumente) mit Links auf die Menüführung, die Startseite oder sonstwas.

          1. Hi,

            Natürlich, aber auch ohne JavaScript ist eine vernünftig gebaute Seite ohne Frames bedienbar und verfügt über vollständige Dokumente.

            Ich will hier keine Diskussion über Frames führen - gibt es im Archiv hinreichend. Hier ging es um die Ablösung von (sicherlich sub-optimal gecodeten) Frames durch eine JS-Technik (die untr Garantie nicht weniger sub-optimal ausfallen wird, wenn nicht noch schlimmer) aus unsinnigen Gründen.

            Daß Frames nicht unbedingt für Hobby-Coder sind, weil sie sich nicht damit auseinandersetzen bzw. grundlegendste Dinge nicht beachten, habe ich geschrieben.

            Bei einer Frame-Lösung die gut gebaut ist, verschandelt man sich die einzelnen losen (obowowohl zusammengehörigen Dokumente) mit Links auf die Menüführung, die Startseite oder sonstwas.

            Unfug. "Links auf die Menüführung" braucht man nicht, wenn der das Frameset/Menüframe existiert, und ein Link auf die Startseite, gehört mit Verlaub auf jede Seite.

            Es ist ja nun auch kein Problem (außer für Hobby-Webdesigner), daß bei einem Suchmachinenlink nicht ein einzelner Content-Frame, sondern gleich das Frameset für diesen Frame geladen wird.

            Aber wie gesagt: Nicht noch so eine sinn- weil fruchtlose Diskussion ...

            Gruß, Cybaer

            --
            Zweck des Disputs oder der Diskussion soll nicht der Sieg, sondern der Gewinn sein.
            (Joseph Joubert, Schriftsteller)
            1. Unfug. "Links auf die Menüführung" braucht man nicht, wenn der das Frameset/Menüframe existiert

              Was ist, wenn dieses fehlt - wie navigiert man dann?

              und ein Link auf die Startseite, gehört mit Verlaub auf jede Seite.

              Sehe ich nicht so - es hängt stark davon ab, ab welcher Unterseite man sich berfindet und ob diese ggf. einen eigenen, abgschlossenen bereich darstellt.

              Und wenn, gehört der Link ins Menü oder den Seitenkopf, aber nicht in jedes einzelne Sub-Dokument eines Framesets.

              Es ist ja nun auch kein Problem (außer für Hobby-Webdesigner), daß bei einem Suchmachinenlink nicht ein einzelner Content-Frame, sondern gleich das Frameset für diesen Frame geladen wird.

              Der Aufwand dahinter ist aber im vergleich zu anderen Techniken enorm bzw. stark unverhältnismäßig - das ist unumstößlich.

              Aber wie gesagt: Nicht noch so eine sinn- weil fruchtlose Diskussion ...

              Gut, beenden wir das :) Michael Nahrath hat ja schon alles gesagt.

              1. Hi,

                »» Unfug. "Links auf die Menüführung" braucht man nicht, wenn der das Frameset/Menüframe existiert
                Was ist, wenn dieses fehlt - wie navigiert man dann?

                *Dann* darf es ja auch da sein.

                Ansonsten halte ich ohnehin eine zusätzliche Breadcrumb-Navigation für sinnvoll (schon aus anderen Gründen).

                »» und ein Link auf die Startseite, gehört mit Verlaub auf jede Seite.
                Sehe ich nicht so - es hängt stark davon ab, ab welcher Unterseite man sich berfindet und ob diese ggf. einen eigenen, abgschlossenen bereich darstellt.

                Gut, kann man wohl versch. Meinung sein. Nach meiner Meinung braucht jede Seite einen Homepage-Link.

                Und wenn, gehört der Link ins Menü oder den Seitenkopf, aber nicht in jedes einzelne Sub-Dokument eines Framesets.

                Es ist ohnehin erste Eintrag im Breadcrumb.

                Der Aufwand dahinter ist aber im vergleich zu anderen Techniken enorm bzw. stark unverhältnismäßig - das ist unumstößlich.

                Na ja, vir ein paar Privat-Seiten sollte das noch manuell gehen. Bei größeren Sachen, nimmt man wohl eher ein CMS, und das macht das dann für einen.

                Michael Nahrath hat ja schon alles gesagt.

                Der Text wird selbst durch noch häufigere Verlinkung nicht vvon seinen Fehlern befreit. =:-) Ist halt immer dumm, wenn man sich lang und breit über etwas ausläßt, von dem man offensichtlich keinen Plan hat. :)

                Gruß, Cybaer

                --
                Zweck des Disputs oder der Diskussion soll nicht der Sieg, sondern der Gewinn sein.
                (Joseph Joubert, Schriftsteller)
                1. Der Text wird selbst durch noch häufigere Verlinkung nicht vvon seinen Fehlern befreit. =:-) Ist halt immer dumm, wenn man sich lang und breit über etwas ausläßt, von dem man offensichtlich keinen Plan hat. :)

                  Auch hier scheinen wir verschiedener Meinung zu sein :)

  2. @@michschu:

    nuqneH

    wegen der bekannten Nachteile mit Frames würde ich diese gerne in meiner Website ablösen und durch ädaquate Technik ersetzen (Server Side Includes, CSS).

    Welche Fragen lässt das <http://de.selfhtml.org/servercgi/server/ssi.htm@title=entsprechende k/π> in SELFHTML offen?

    ohne dass jedes Mal z.B. die Hintergrundgrafik von links.htm übertragen wird

    Das wird sie ohnehin nicht; sie ist im Browsercache.

    Qapla'

    --
    Bildung lässt sich nicht downloaden. (Günther Jauch)
  3. hi,

    Wie sähe alternativer Code dazu aus, ohne dass jedes Mal z.B. die Hintergrundgrafik von links.htm übertragen wird, bzw. ich nicht jedes Mal für eine 'rechts'-ersetzende Page den selben Code schreiben muß (ausser vielleicht für ein 'Include')?

    Viel zu weit gedacht am Anfang. Mach Dir erstmal Gedanken wie rein optisch die Links auf jeder Seite aussehen könnten, waagerecht oder senkrecht... für sowas bieten sich Listen an mit entsprechender Formatierung.

    Auf meinem Web hab ich z.B. ein Menu auf jeder Seite:
    Startseite Impressum Aktuelles Gästebuch Suche Hauptindex Intern Artikel Webmaster
    |---------------  menu.ini ------------------|  map.html  |--- linkbase.ini -----|

    das hat einen statischen Teil, der linkerhand vom Hauptindex steht. Rechts davon das ist veränderlich und abhängig davon, inwieweit das gerade aufgerufene Dokument in der Ordnerhierarchie zu finden ist.

    Dynamisch heißt bei mir, dass dieses Menu zur Laufzeit erzeugt wird, in dem Moment, wenn die Datei abgerufen wird per http-Request. Sowas ist natürlich auch statisch machbar.

    Hotte

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.