xpfreund: Divs

Ich habe eine Seite mit divs erstellt,um von den Frames wegzukommen. Im Frame konnte man durch die Navigation mit target festlegen,dass zum Bsp. eine Html-Datei rechts neben der Navigation steht und durch Links in der Navigation durch eine zweite Html-Datei ersetzt werden. Jetzt meine Frage: Geht das auch bei divs zu realisieren? Ich stelle mir das so vor: oben ist die Navigation,die immer bestehen bleibt und darunter werden Html-Seiten angezeigt(pro Seite eine extra Datei),die durch die Navigation angesteuert werden.

Danke im Voraus für eure Hilfe

  1. Moin

    Ich habe eine Seite mit divs erstellt,um von den Frames wegzukommen.

    DIVs sind aber auch nicht ideal als alleiniges Strukturierungsmittel. Wenn irgend möglich vermeide auch DIVs.

    Geht das auch bei divs zu realisieren?

    Ich lese das mal als "Geht das auch mit HTML zu realisieren?"
    Nein, dazu bräuchtest du zusätzlich JavaScript (Stichwort AJAX).
    Sinnvoller ist es einfach die komplette Seite neu zu laden.

    Gruß
    rfb

    --
    Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
    (Galileo Galilei)
    1. Wäre das auch in PHP möglich?

      1. Moin

        Wäre das auch in PHP möglich?

        Seitenteile nachladen? Natürlich nicht, da PHP-Programme beendet sind, bevor die Seite an den Browser gelangt.
        Für alles andere siehe den Link in wahsagas Antwort.

        Gruß
        rfb

        --
        Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
        (Galileo Galilei)
  2. hi,

    Im Frame konnte man durch die Navigation mit target festlegen,dass zum Bsp. eine Html-Datei rechts neben der Navigation steht und durch Links in der Navigation durch eine zweite Html-Datei ersetzt werden. Jetzt meine Frage: Geht das auch bei divs zu realisieren?

    Nein, immer noch nicht. (Auch wenn diese Frage nahezu wöchentlich wieder gestellt wird.)

    Ich stelle mir das so vor: oben ist die Navigation,die immer bestehen bleibt und darunter werden Html-Seiten angezeigt(pro Seite eine extra Datei),die durch die Navigation angesteuert werden.

    Du lädst ganz einfach mit dem Link ein neues, _vollständiges_ HTML-Dokument.

    Nein, natürlich musst du nicht die Navigation und sonstige Bestandteile in jede Seite von Hand wieder einfügen - siehe FAQ, Wie kann ich Teile meiner Webseite auslagern?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Hello out there!

    Ich habe eine Seite mit divs erstellt,um von den Frames wegzukommen.

    Déjà vu.

    Hoffentlich wirst du auch noch von den div wegkommen.

    Ich stelle mir das so vor: oben ist die Navigation,die immer bestehen bleibt und darunter werden Html-Seiten angezeigt(pro Seite eine extra Datei),die durch die Navigation angesteuert werden.

    Ein Vorteil von framelosen Seiten ist ja gerade, dass sich die gesamte Seite mit Navigation hinter einem URI verbirgt.

    Du möchtest Teile deiner Webseite auslagern?

    Beachte dabei, keinen Link zur aktuellen Seite zu setzen.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  4. Ich habe eine Seite mit divs erstellt,um von den Frames wegzukommen. Im Frame konnte man durch die Navigation mit target festlegen,dass zum Bsp. eine Html-Datei rechts neben der Navigation steht und durch Links in der Navigation durch eine zweite Html-Datei ersetzt werden. Jetzt meine Frage: Geht das auch bei divs zu realisieren? Ich stelle mir das so vor: oben ist die Navigation,die immer bestehen bleibt und darunter werden Html-Seiten angezeigt(pro Seite eine extra Datei),die durch die Navigation angesteuert werden.

    Danke im Voraus für eure Hilfe

    du hast zwei Möglichkeiten:
    1. xmlHttpRequest oder um den aktuellen Ausdruck zu benutzen: AJAX,
    Damit kannst du mittels javascript einen xmlhttp request an einen Server senden,
    das response xml auswerten und mittels DOM (Document Object Model) in die Webseite integrieren.
    Diese Möglichkeit ist allerdings nicht zu empfehlen, da hiermit keiner, der java deaktiviert
    hat die Seite anzeigen kann.
    Ausserdem wirst du problem mit browserkompatibilität haben.

    2. die eigentlich gängigere Methode ist eine serverseitige Script-Sprache wie php oder asp.
    damit schreibst im Grunde genommen ein Script, mit dem der Server dann das html erstellt.
    Wenn du nun eine php-datei erstellst, die dann jeweils das menu lädt, anstatt eine Frame Seite,
    die jeweils die entsprechende unterseite lädt erhälst du denselben Effekt:

    ein beispiel:

    Datei menu.inc:
    ---------------------------
    <?xml version='1.0' encoding='ISO-8859-1' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns='http://www.w3.org/1999/xhtml'>
    <head>
     <title>Titel der Seite</title>
     <meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />
    </head>
    <body>
    <--Hier kommt dein Menu-->
    ---------------------------

    datei seite.php:
    ---------------------------
    <?php
     include("menu.inc");
    ?>
    <--hier kommt dein html Code der Seite-->
    </body>
    </html>
    ---------------------------

    nun kannst du einmal ein menu schreiben, welches die links zu den entsprechenden seiten (php-files) enthält.
    durch das include() wird dann jedesmal derselbe kopf mit deinem Menü geladen.

    Voraussetzung ist ein installiertes php oder vergleichbare Scriptsprache auf dem Server.

    1. Hello out there!

      AJAX […]da hiermit keiner, der java deaktiviert hat die Seite anzeigen kann.

      Du verwechselst JavaScript mit Java.

      1. die eigentlich gängigere Methode ist eine serverseitige Script-Sprache wie php oder asp.

      Warum mit Kanonen auf Spatzen schießen, wenn es Pfeil und Bogen auch tun?

      Voraussetzung ist ein installiertes php oder vergleichbare Scriptsprache auf dem Server.

      Nein; SSI reichen völlig aus.

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
      1. AJAX […]da hiermit keiner, der java deaktiviert hat die Seite anzeigen kann.

        Du verwechselst JavaScript mit Java.

        richtig. meinte javascript

        Nein; SSI reichen völlig aus.

        Das ist richtig. allerdings ist auch SSI nicht auf jedem Server standardmässig installiert.

    2. Diese Möglichkeit ist allerdings nicht zu empfehlen, da hiermit keiner, der java deaktiviert hat die Seite anzeigen kann.

      Du meinst sicher Javascript.

      <?php
      include("menu.inc");
      ?>
      <--hier kommt dein html Code der Seite-->
      </body>
      </html>

      Würde ich so nur bei kleinen Projekten empfehlen.

      Für sinnvoller halte ich ein System bei der immer die selbe PHP-Datei aufgerufen wird, die dann je nach GET-Parameter unterschiedliche Inhalte nachlädt. Dann hat man zwar mehr Aufwand, mod_rewrite einzurichten und das Browser-Caching zu überprüfen, ist aber m.M.n. insgesamt sauberer und einfacher zu warten.

    3. Hello out there!

      <?php
      include("menu.inc");
      ?>

      Auch hier Kanonen und Spatzen. 'include()' ist nur erforderlich, wenn das Einzufügende selbst PHP enthält, also danach geparst werden muss. Ansonsten tut es 'readfile()'.

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    4. HTML::Template::Compiled in Verbindung mit mod_perl2 gibt saumäßig geilen Speed und ist recht einfach zu implentieren. Da kannste dir Nobody-php direkt schon sparen