PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HTML include



moedule
03-03-2004, 00:23
hey

nach dem meine pages nun seit einigen jahren ohne größere strukturelle änderungen im netz stehen, wollte ich die jetzt mal etwas nachbessern

in letzter zeit hab ich öfter mal gehört, dass frames komplett out sind (probleme mit querverweisen aus suchmaschinen mit der navigation, durchscuhen mit suchmaschinen, ...)

wolte mich also mal mit CSS versuchen, nix aufregendes (ist eigentlich ja auch nicht schwer)

nach ersten versuchen steh ich jetzt aber vor folgendem problem:
ich erkaufe mir die frame-losigkeit dadurch, das ich in jeder inhaltsdatei die komplette struktur meiner menuführung nocheinmal reinschreiben muß (C&P kenn ich *g*)

aber sowas kanns ja nicht sein, da verbau ich mir ja jede möglichkeit halbwegs sauber zu aktualisieren (ohne irgendwelche differenzen innerhalb der page)

einfach zu umgehen wär das ganze mit einem art #include , also sowas wie der präcompiler in C, der einfach an der entsprechenden stelle das richtige reinläd (ich hoffe ihr versteht was ich meine)

bei meiner suche obs denn sowas (natürlich html konformes!) gibt bin ich dann auf den html-tag object gestoßen....?

aber damit will das nicht so wirklich, im zweifelsfall kommt z.B. ein scrollbar, der dann dieses object hochrunterscrollbar macht

wie macht man sowas richtig?? gibts da noch irgendne andere möglichkeit??

auf allen seiten die ich zum thema CSS angeschaut hab trat genau dieses problem auf

ich hab hier mal noch mein (stark vereinfachtes) beispiel reingestellt


test.html


<html><head>
<link href="layout.css" rel="stylesheet" type="text/css">
</head>

<body>

<div id="navigation">
<object data="navi.html"></object>
</div>

<div id="innen" src="test.html">
Hier steht der Text der halt im dasteht, laber alaber
/div>

</body></html>



navi.html


<a href="index.html">home</a><br>
<a href="">Was weis ich</a><br>
<a href="kontakt.html">Kontakt</a><br>

SeeksTheMoon
03-03-2004, 11:03
object ist für Mediadaten wie Java, Flash usw gedacht (benutzt aber kaum einer; zumindest bei Java nicht).
Mit html kann man keine Dateien includen. Dazu muss auf Deinem Server schon SSI laufen (Serverside Includes) oder Du machst es mit php, perl oder einer anderen serverseitigen Scriptsprache.

peschmae
03-03-2004, 12:06
Eine Alternative dazu wäre z. B. die Verwendung eines HTML-Editors, der die Includes offline automatisch einfügt (z. B. HTMLEdit Phase 5 für Windows) oder ein Makroprozessor (ich glaub im LinuxMagazin/User stand mal was für m4)

Oder du könntest z. B. auch die (von Docbook herkommende) Website DTD verwenden - aber das wäre dann ein ganz anderer Ansatz (stand auch kürzlich was im LinuxMagazin)

MfG Peschmä

fs111
03-03-2004, 13:03
Vielleicht geht es auch mit einen Xinlude Prozessor, wie bei XML.

fs111

moedule
03-03-2004, 13:23
hmja.. mit aktiven medien (alos was serverseitigem , kein problem), will ich aber nicht

mit nem extra editor, ebenfalls kein problem (ist ja nix anderes als C&P), aber was fehlerträchtigeres gibts gar nicht, außerdem könnte es dann im zweifelsfall nur einer bearbeiten (der halt das entsprechende programm hat, besitzt jmd das programm nicht (oder hat ein anderes OS) dann gehts schief)

aber das kanns doch nicht sein?? mal im ernst, das ist doch nicht mittel der wahl, damit ist HTML und CSS ohne Frames für ne komplexe seite eigentlich ja schon abgehakt??


ja das mit object ist nicht wirklich dafür geeignet

moe

peschmae
03-03-2004, 14:18
Für komplexe Seiten nimmt man wohl eher ein CMS oder so. Da brauchst du serverseitige Sachen eh irgendwo.

MfG Peschmä

sixfriends
03-03-2004, 15:25
Die Holzhammermethode: :D

Die HTML Dateien:

<script src="menu.js" type="text/javascript"></script>

menu.js:

document.write('Das Menü hier einfügen');

Dass das hässlich ist und das Menü nur angezeigt wird, wenn der Client JavaScript aktiviert hat, ist dir sicher auch klar. Kann dir php nur wärmstens empfehlen.

moedule
03-03-2004, 18:55
hey

mit php hab ich schon einiges gemacht, aber halt nur wirklich funktionell, nichts nach was aussehendes..
jetzt sollte es eher etwas mehr design sein...

die javascript-methode taugt natürlich nichts, denn gerade dann schließt man ja suchmaschinen undso wieder aus

naja wird wohl nicht gehen

moe

Floh
08-03-2004, 20:39
Original geschrieben von moedule
in letzter zeit hab ich öfter mal gehört, dass frames komplett out sind (probleme mit querverweisen aus suchmaschinen mit der navigation, durchscuhen mit suchmaschinen, ...)


Kurze Anmerkung: Die Problematik kann man durch Angabe von korrekten meta-Tags verhindern.

Gruß, Floh

bischi
09-03-2004, 13:33
Die Holzhammermethode:

Die HTML Dateien:

code:<script src="menu.js" type="text/javascript"></script>

Also da würd ich Frames bevorzugen: Die laufen wenigstens überall einigermassen zuverlässig - Javascript ist da problematischer. AFAICS gibt es für Frames überhaupt noch keinen vollwertigen Ersatz (will man bei HTML und CSS bleiben): Eine Navigationsleiste am linken Fensterrand, die nicht mit dem Rest der Homepage runterscrollt, ist sonst meines Wissens nicht möglich...

MfG Bischi

peschmae
09-03-2004, 14:06
Original geschrieben von Floh
Kurze Anmerkung: Die Problematik kann man durch Angabe von korrekten meta-Tags verhindern.


Nein. Viele Suchmaschinen verlassen sich auch gar nicht mehr wirklich auf die Tags, weil die oft irreführend sind (um eine gute Plazierung zu erreichen) - ausserdem ändert das nix daran, dass Frames zu Problemen bei der Indizierung der Seite führen können


Original geschrieben von Bischi
Also da würd ich Frames bevorzugen: Die laufen wenigstens überall einigermassen zuverlässig - Javascript ist da problematischer. AFAICS gibt es für Frames überhaupt noch keinen vollwertigen Ersatz (will man bei HTML und CSS bleiben): Eine Navigationsleiste am linken Fensterrand, die nicht mit dem Rest der Homepage runterscrollt, ist sonst meines Wissens nicht möglich...

Doch das gibts. z. B. beim w3c http://www.w3.org/Style/CSS/
Ist zwar rechts - aber so nich viel eindrucksvoller :)

MfG Peschmä

bischi
09-03-2004, 14:13
Mit DIV - da hab ich schon schlechte Erfahrungen damit gemacht - vielleich hat sich das mittlerweilen gebessert...

MfG Bischi

peschmae
09-03-2004, 15:43
Mit div? Kannst du das erläutern?

Bei mir geht die Site auf jeden Fall mit Mozilla und Derivaten und Konqueror so wie sie sollte. Und sonst fällt mir gerade kein wichtiger Browser ein.
Sogar mit Dillo gehts einigermassen - die Links sind einfach oben und nicht seitwärts - aber das ist immer noch 10^10^10 mal besser als Frames :)

MfG Peschmä

sixfriends
09-03-2004, 17:43
Original geschrieben von bischi
Eine Navigationsleiste am linken Fensterrand, die nicht mit dem Rest der Homepage runterscrollt, ist sonst meines Wissens nicht möglich...

Die Seite, die peschmae verlinkt hat, benutzt das Attribut position:fixed. Ist ne feine Sache, aber wird leider von den wenigsten Browsern unterstützt (Bezogen auf die Quantität der Anwender :D ). Ist meines Wissens auch relativ neu. Laut SelfHtml8.0 gibt es noch keinen Browser, der es unterstützt.
(Bevor ihr jetzt anfangt zu meckern: Ich weiß selber, dass es mit Mozilla funzt)

sixfriends

btw: Zieht euch doch einfach weiter an dem Beitrag über daen JavaScript Scheiss hoch, war zwar nicht ernst gemeint, aber wems Spaß macht.... :p

peschmae
09-03-2004, 19:06
Gemäss Foren-Stat benutzen nur 26.8% dieses komische Vehikel. Muss ich aber mal testen ob das tatsächlich nicht geht.

Geht tatsächlich nicht - mit dem neusten **** auf Windows **

MfG Peschmä

undefined
09-03-2004, 19:17
Original geschrieben von peschmae
Gemäss Foren-Stat benutzen nur 26.8% dieses komische Vehikel. Muss ich aber mal testen ob das tatsächlich nicht geht.

MfG Peschmä
das ist viel.

position:fixed; wird von Opera ab Version 7 Mozilla und Kde Konqueror ab 3 unterstützt.
Ist im übrigen css2 Standart, die Browser die mit sicherheit diesen Standart erfüllen habe ich oben aufgezählt.

peschmae
09-03-2004, 19:53
ok. Aber es ist nicht gravierend imho.

Ich meine - das Menü bleibt dann halt oben - na und. Ein bisschen weniger prakitsch, zugegebenermassen. Aber das nehmen Leute die den IE Benutzen und damit auf Tabs verzichten (wie kann man nur :eek: ) wohl in Kauf :p

MfG Peschmä