Ergebnis 1 bis 14 von 14

Thema: SeitenElememente (Footer, ect.) per JS/PHP einfügen?

  1. #1

    SeitenElememente (Footer, ect.) per JS/PHP einfügen?

    moin!!

    Ich wollte mal fragen wie das is mir kam schon länger die Idee, z.B. den Footer meiner Page per Javascript auszulagern, und lediglich ein div zu deklarieren in das ich dann mit einer Javascript funktion "schreibe". Sokmit würde der Inhalt angezeigt werden! Der Sinn dahinter: Der Footer befindet sich auf jeer Seite, bei 5 Stück ist eine Änderung bereits nen bisschen Arbeit je mehr umso mehr Arbeit und ich bin ein Freund von Arbeitsminimierung =).

    Jetzt wollte ich wissen, wie das mit der Gescwhindigkeit ist, von javascript, im Prinzip würde es nur nach dem DIV suchen und dort HTML Code reinposten =).

    Das selbe Prinzip wäre natürlich auch mit PHP realisierbar!!

    mfg

  2. #2
    Wäre es nicht möglich, den Footer in eine eigene html Datei auszulagern und diese dann lediglich mit JavaScript zu inkludieren?
    Das hat den Vorteil, dass wenn man den Footer ändern will, muss man nicht im Script rumpfuschen.

  3. #3
    man kann ne eite aus mehreren HTML Dateen zusammenbauen? Meinst du damit jetzt explizit frames? Wäre wirklich von Vorteil, nur Frames sind j ne Sache für scih, wenns anderst gehen würde wäre es sicher eine gute Idee!

  4. #4
    Ich meinte keine Frames.
    Für gewöhnlich teilt man dynamische Webseiten in einzelne Teilbereiche auf und fügt sie dann später mit einer Scriptsprache wieder zusammen.

    So hat man z.B. eine Datei für den Header, eine für die navi, eine für den Content, ...

    So kann man schnell und leicht irgendwas verändern, ohne ausversehen, was andereres kaputtzumachen. Bei php gibt es z.B. die Include()-Funktion. Das fügt genau an der Stelle eine Datei ein. auch html Dateien kann man damit inkludieren.
    html Dateien müssen ja nicht vollständige html-dokumente sein. Können ja auch nur kleine Teile eines großen sein.

    Andere Möglichkeit wäre, ein komplettes Template zu basteln, wo die Inhalte später reinkopiert werden aber damit kenn ich mich nicht besonders gut aus.

  5. #5
    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    Ich meinte keine Frames.
    Für gewöhnlich teilt man dynamische Webseiten in einzelne Teilbereiche auf und fügt sie dann später mit einer Scriptsprache wieder zusammen.

    So hat man z.B. eine Datei für den Header, eine für die navi, eine für den Content, ...

    So kann man schnell und leicht irgendwas verändern, ohne ausversehen, was andereres kaputtzumachen. Bei php gibt es z.B. die Include()-Funktion. Das fügt genau an der Stelle eine Datei ein. auch html Dateien kann man damit inkludieren.
    Vorsicht, du vermischt hier serverseitige und clientseitige Scripts, was doch ein ziemlich großer Unterschied ist.
    Dass es mit (serverseitigem) PHP ein Kinderspiel ist, eine Seite aus mehreren Dateien zusammenzubasteln, stimmt. Bei (clientseitigem) Javascript sieht die Sache allerdings schon deutlich anders aus.
    Natürlich gibt es die Möglichkeit, mit AJAX o.ä. eine Seite auszulesen und in eine andere zu inkludieren. Sowas Kompliziertes nur wegen eines Footers zu machen, dürfte aber etwas übertrieben sein. Also wird der Code wohl doch im Javascript stehen müssen.

    Hier kenne ich mich allerdings nicht sonderlich gut aus. Früher wäre es wohl einfach so gegangen:

    Das ist aber (afaik) mittlerweile seit einigen Jahren deprecated und funktioniert z.B. bei konformen Seiten im Firefox (noch mehr afaik) überhaupt nicht mehr.
    Schönerer Stil ist es, DOM-Nodes zu erzeugen und in den DOM-Baum einzufügen, was recht kompliziert ist, aber auch gehen sollte. Hier findest du Referenzen bzw. ein Tutorial dazu:
    http://www.howtocreate.co.uk/tutoria...ript/dombasics
    http://de.selfhtml.org/javascript/objekte/document.htm
    http://de.selfhtml.org/javascript/objekte/node.htm

    Falls du allerdings keine HTML-Tags im Footer stehen hast, sondern bloß reinen Text (oder schon vorher weißt, welche Tags stehen werden und in die auch einzeln den Text einfügen könntest) geht's deutlich einfacher:
    document.getElementById("footer").firstChild.nodeValue = "Das ist meine Seite, klau sie nicht!";
    Sollte zumindest so sein. (firstChild deswegen, weil du zum Text-Node innerhalb des Divs musst.)


    Allgemein ist das vielleicht etwas viel Mühe um sich ein einfaches Search/Replace über mehrere Dokumente zu ersparen (was z.B. Notepad++ auch in einem kann), aber andererseits lernt man wenigstens auch was dabei, also mach' ruhig.

  6. #6
    Zitat Zitat von drunken monkey Beitrag anzeigen
    Hier kenne ich mich allerdings nicht sonderlich gut aus. Früher wäre es wohl einfach so gegangen:

    Das ist aber (afaik) mittlerweile seit einigen Jahren deprecated und funktioniert z.B. bei konformen Seiten im Firefox (noch mehr afaik) überhaupt nicht mehr.
    An sowas hatte ich gedacht aber das dies nicht mehr möglich ist, wusste ich nicht. ^^

  7. #7
    Nimm eine Javascript Bibliothek wie Prototype.
    Dann wäre das ganze nur noch
    Code:
    new Ajax.Updater(divId, 'page.html');
    Du könntest auch versuchen dich mit AJAX auseinanderzusetzen, wobei es recht schwierig ist etwas Browserunabhängiges ohne eine Bibliothek, die darauf schaut, zu erstellen.

  8. #8
    Zitat Zitat von Drakes Beitrag anzeigen
    Nimm eine Javascript Bibliothek wie Prototype.
    Dann wäre das ganze nur noch
    Code:
    new Ajax.Updater(divId, 'page.html');
    Du könntest auch versuchen dich mit AJAX auseinanderzusetzen, wobei es recht schwierig ist etwas Browserunabhängiges ohne eine Bibliothek, die darauf schaut, zu erstellen.
    Du willst ein komplettes JavaScript-Framework verwenden, um statischen Text in einer Website anzuzeigen?


    Ideal wäre eine serverseitige Lösung, beispielsweise via PHP. Das macht keine Annahmen über den Client (nicht jeder User hat JS für deine Seite aktiv) und ist damit kompatibler. Zwar kann bei AJAX der Footer separat gecachet werden, allerdings dürfte das kaum ins Gewicht fallen.

  9. #9
    Zitat Zitat von Jesus_666 Beitrag anzeigen
    Du willst ein komplettes JavaScript-Framework verwenden, um statischen Text in einer Website anzuzeigen?


    Ideal wäre eine serverseitige Lösung, beispielsweise via PHP. Das macht keine Annahmen über den Client (nicht jeder User hat JS für deine Seite aktiv) und ist damit kompatibler. Zwar kann bei AJAX der Footer separat gecachet werden, allerdings dürfte das kaum ins Gewicht fallen.
    Nur kommt es scheinbar nicht in Frage, da justgotowned weiss, dass es über php ginge.

  10. #10
    kurze nbenfrage indem Thread hier: ist das "name" attribut eigentlich für irgend etwas besonderes gedacht? Ich seh darin manchmal nen abus zweck und dafür isses ganz nützlich!!

  11. #11
    Zitat Zitat von justgotowned Beitrag anzeigen
    kurze nbenfrage indem Thread hier: ist das "name" attribut eigentlich für irgend etwas besonderes gedacht? Ich seh darin manchmal nen abus zweck und dafür isses ganz nützlich!!
    Versuch' mal, ein <form> mit sinnvollen Elementen zu bevölkern, ohne es zu benutzen.

  12. #12
    Zitat Zitat von Jesus_666 Beitrag anzeigen
    Versuch' mal, ein <form> mit sinnvollen Elementen zu bevölkern, ohne es zu benutzen.
    Soweit ich weiß, ist dafür in der Zwischenzeit auch id zuständig.

  13. #13
    Zitat Zitat von DFYX Beitrag anzeigen
    Soweit ich weiß, ist dafür in der Zwischenzeit auch id zuständig.
    Was die meisten Browser aber noch nicht raffen.

    Zitat Zitat
    Das ist aber (afaik) mittlerweile seit einigen Jahren deprecated und funktioniert z.B. bei konformen Seiten im Firefox (noch mehr afaik) überhaupt nicht mehr.
    Das bezweifle ich irgendwie stark das document.write von den meisten Browsern nicht mehr akzeptiert wird o_O.

  14. #14
    Zitat Zitat von DFYX Beitrag anzeigen
    Soweit ich weiß, ist dafür in der Zwischenzeit auch id zuständig.
    Echt? o_O Fände ich eigentlich ziemlich idiotisch:
    a) Ist ja absehbar, dass das ewig nicht ordentlich umgestellt wird, weil's keiner verwendet und die Browser es demnach auch nicht einfach verlangen können.
    b) Ist id ja schon für etwas anderes in Benutzung, was mit der neuen kaum etwas zu tun hätte.
    c) Wäre es dann unmöglich, auf einer Seite mehrere identische Formulare bereitzustellen (z.B. Suchfunktion am Anfang und am Ende der Seite).

    Hast du da vielleicht einen Link o.ä.?
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    Das bezweifle ich irgendwie stark das document.write von den meisten Browsern nicht mehr akzeptiert wird o_O.
    Habe ich ja auch nicht geschrieben – nur, dass es FF im standardkonformen Modus nicht mehr mag, was ich iirc auf SelfHTML gelesen habe.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •