Eugen: Html Seiten importieren

Hallo,
ich habe mich lange nicht mehr mit Websitenerstellung befasst, aber mein Problem war immer, dass, wenn ich ein Menü/Navigationsmenü (mit Einträgen wie z.B: "Home" "Neues") erstellt habe in Html, ich den Quellcode des Menüs in jede neue Html-Seite einfügen musste, damit es immer da war.
Also wenn man auf "Home" klickt wird nicht einfach nur der Inhalt von "Home" geladen, sondern auch noch das Menü nochmal.
Das Problem ist, dass wenn man mal einen neuen Menüeintrag eingefügt hatte, man diesen in jeder html-Datei einfügen müsste, sonst wäre das Menü nicht immer gleich gewesen.
Natürlich kann man dieses Problem mit Frames lösen, aber ich persönlich habe Frames immer gehasst (aus ästhetischen Gründen).

Vor einiger Zeit hat mir ein Bekannter einmal gezeigt, wie sich das Problem in Php lösen lässt. Es wurde einfach beim Klick auf den z.B. "homebutton" der Inhalt einer Html datei in einen bestimmten Bereich importiert.
Da ich aber nicht vor habe Php zu lernen wäre meine Frage nun, ob es einfachere Möglichkeiten gibt (vielleicht JavaScript?) das Problem mit dem Menü zu umgehen.
Auch hier bei SelfHtml habe ich nach Möglichkeiten gesucht und habe etwas über "objects" gefunden. Es lässt sich zumindest mit diesem Befehl eine Html-Datei in eine Andere importieren. Leider wüsste ich nicht wie ich die importierte Html Datei mit einem Klick auf einen Link austauschen kann.
Vielen Dank

  1. Oh beim Schreiben ist mir gerade eine einfache Lösung eingefallen, die funktionieren müsste, aber noch nicht das gelbe vom Ei ist.
    Ich könnte ja einfach eine Html-Menü Datei erstellen und einfach bei jeder neuen Html-Datei ("Z.B. Home") dieses Menü-Html Datei mit dem objects befehl importieren. An sich ist das ja die Lösung meines Problemes, aber vielleicht gibt es noch andere Wege, die ich gerne hören würde.

    1. Hello,

      es gibt auch noch SSI = Server Site Includes   oder war es   Server side incliuding ?

      Na jedenfalls geht der Server das Dokument durch, bevor er es ausliefert, und ersetzt gewisse Platzhalter durch die darin angegeben Dokumente.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

  2. Hello,

    Da ich aber nicht vor habe Php zu lernen wäre meine Frage nun, ob es einfachere Möglichkeiten gibt (vielleicht JavaScript?) das Problem mit dem Menü zu umgehen.

    Ja, es gibt einfachere Möglichkeiten.
    Ich habe z.B. für einige Kunden, die ein wenig HTML können, ein Mini-Navigationssystem in PHP erstellt. Das kannst Du gerne haben. Es werden nur statische Seiten erzeugt.

    Der Kunde muss nun nur einen Teil des Bodys der HTML-Seite selber erstellen und versehen mit einem bestimmten Pfad und Namen (das verstehen die meisten ziemlich schnell) mittels kleinem Uploadscript auf seinen Server laden.

    Die Seite erscheint dann automatisch im Menu.
    Bei Änderungen muss er sie einfach überschreiben.
    Dem System fehlen noch zwei wichtige Features:

    • grafische Anzeige eines Seitenbaumes (erstmal nur für den Bearbeiter)
    • Löschmöglichkeit für eine Seite (integriert in den Seitenbaum?)

    Ich habe es extra einfach gehalten, weil Viele überhaupt nicht mehr wollen.
    Außerdem ist das Mini-System gleich ein guter Einstieg in PHP

    Einige Ungereimtheiten (Groß-/Kleinschreibung, nur fast valide bisher) müssen noch beseitigt werden. Etwas mehr Sicherheit gegen versehentliches Überschreiben wäre auch noch wünschenswert.

    Die nächste Entwicklungsstufe wäre nun noch ein "Body-Generator", der auch automatisch nach Suchbegriffen, abweichenden Formatierungen usw. fragt, bzw. eine Auswahl an Standard-Seiten bereitstellt. (Mit Bildern, ohne Bilder, Tabellen, ...)

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hello,

      ich kann Dir eigentlich auch einen Link dazugeben auf einen der Kunden, die das System einsetzen

      http://walkenrieder-bedachungen.de

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

  3. Hello out there!

    Das Problem ist, dass wenn man mal einen neuen Menüeintrag eingefügt hatte, man diesen in jeder html-Datei einfügen müsste, sonst wäre das Menü nicht immer gleich gewesen.

    Völlig gleich sollte das Menü auch nicht sein! „Verlinke niemals auf die aktuelle Seite.“ (Punkt 10 der zehn meist-missachteten Homepage-Design-Richtlinien [Nilsen]

    Natürlich kann man dieses Problem mit Frames lösen, aber ich persönlich habe Frames immer gehasst (aus ästhetischen Gründen).

    Die ästhetischen sind die nichtigsten Gründe, da gibt’s ganz andere ... [Subotnik]

    Vor einiger Zeit hat mir ein Bekannter einmal gezeigt, wie sich das Problem in Php lösen lässt. Es wurde einfach beim Klick auf den z.B. "homebutton" der Inhalt einer Html datei in einen bestimmten Bereich importiert.

    Ja, und die i.a. dafür benötigte Funktion heißt NICHT import().

    Und es muss auch nicht PHP sein, wenn [SSI](file:///D:/self812/servercgi/server/ssi.htm) ausreichen.

    Da ich aber nicht vor habe Php zu lernen wäre meine Frage nun, ob es einfachere Möglichkeiten gibt (vielleicht JavaScript?) das Problem mit dem Menü zu umgehen.

    JavaScript? Nein! Ein Menü muss ohne JavaScript auskommen, viele Nutzer wollen oder können JavaScript nicht aktivieren. Und dann gibt’s noch andere Klienten ... [DIALOG-ROBOT]

    Auch hier bei SelfHtml habe ich nach Möglichkeiten gesucht

    In die Forum-FAQ hast du nicht geschaut?

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  4. Hallo,

    der Ansatz ist folgender:
    Der Import einer HTML-Seite erfolgt physisch so, dass der Browser
    (im dazugehörigen Fenster) ein Document-Objekt erzeugt, dessen Inhalt der Importbestand ist. Ob nun Frame oder Body, beide nutzen Document (Frame und Body gehen nicht gleichzeitig) als Elternobjekt, wobei Frame spezialisiert ist.

    Wohin importert wird, ist also egal, solange ein document-Objekt vorhanden ist bzw. erzeugt wird.

    Das Menü, welches importiert, muss also ein vorhandenes document benutzen, egal ob es im neuen Fenster oder im aktuellen Fenster geöffnet wird. Das hat nichts mit dem Dokument, das das Menü enthält, zu tun.

    Der Linktausch erfolgt mit Veränderung vom HREF-Attribut (Javascript .href-Eigenschafft von z.B. A-Tag-Objekt).

    Frameset ist ideal, will man Fenster unabhängig mit Daten versorgen.

    Gruss Tom.

    P.S.: Tippfehler ignorieren aber nicht meine Antwort :-)

    1. Hello out there!

      Der Import einer HTML-Seite erfolgt physisch so, dass der Browser
      (im dazugehörigen Fenster) ein Document-Objekt erzeugt, dessen Inhalt der Importbestand ist.

      He?? Wie bitte?

      Bis hierher wirres Zeug ...

      Frameset ist ideal

      ... aber das ist schon grober Unfug. Der OP will nicht unabhängige Dokumente nebebeinander darstellen, sondern ein Menü einbinden. Und er hat selbst schon erkannt, dass Frames dazu kein geeignetes Mittel sind. Also erzähl bitte keinen Blödsinn.

      P.S.: Tippfehler ignorieren aber nicht meine Antwort :-)

      Das Ignorieren deiner Antwort wäre auch grob fahrlässig gegenüber dem OP gewesen.

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
      1. Hallo,

        der Import von Daten per JavaScript erfolgt z.B. über Link-, Script-Tag, Öffnen eines (neues) Dokumentes.

        window.document ist wie ersichtlich einer Fensterinstanz zugeordnet laut HTML-DOM (window.document.body auch). Also sind parallele Dokumente ebenfalls parallelen window-Instanzen zugeordnet, deren
        Rendern u.a. per Frameset erfolgen kann.
        Es gibt keine Instanz, die über window steht (nur "Derivate" wie FRAMESET als spezielle Fenster-Anordnung oder IFRAME).

        Frames sind daher auch für getrennte Datenversorgung zu gebrauchen.

        Brwoserhersteller nutzen Tabs oder andere Features, um Dokumente parallel anzeigen zu lassen - pro Tab eine window.document-Instanz.

        Für HTML-DOM-Beschreibungen beim Internet Explorer www.microsoft.com,
        bei Firefox und Co. http://developer.mozilla.org/en/docs/Gecko_DOM_Reference.

        Gruss Tom.

        Meine Webseite www.twseiten.de ist ein Menü im Frameset. Einfach anschauen den Quelltext.