SSI code ändern
Frank
- javascript
Brauche dringend Hilfe.
Wollte meine Seite nicht mit Frames sondern mit SSI modular aufbauen,
nur habe ich das Problem den Code mit einem Link zu ändern.
Auf meiner Seite, lade ich mit folgenden Befehl eine Seite nach.
<Div id="TEXT"><!-- include virtual="Willkommen.inc" --></Div>
Dies möchte ich über einen Link oder einen onmousedown oder onclick ändern damit der Inhalt des DIV Containers statt der "Willkommen.inc" eine "NEWS.inc" Datei in das Dokument lädt.
Bitte helft mir.
Hallo,
Dies möchte ich über einen Link oder einen onmousedown oder onclick ändern damit der Inhalt des DIV Containers statt der "Willkommen.inc" eine "NEWS.inc" Datei in das Dokument lädt.
SSI, Server Side Includes, läuft severseitig ab.
Das läßt sich ja kaum "onmousedown oder onclick" direkt ändern, die
Seite (oder eine andere) muß also neu geladen werden.
Grüsse
Cyx23
Moin
Wäre das nicht mit AJAX hinzubekommen (rein theoretische Frage)?
Gruß
rfb
Moin
Wäre das nicht mit AJAX hinzubekommen (rein theoretische Frage)?
Gruß
rfb
Wollte eigentlich bei den Standarts bleiben, und nicht etwas ganz neues Ausprobieren.
Moin
Wollte eigentlich bei den Standarts bleiben, und nicht etwas ganz neues Ausprobieren.
Was genau meinst du damit? AJAX ist letztlich nichts anderes als JavaScript, also nix ganz neues und auch innerhalb der Standards.
Gruß
rfb
Moin
Wollte eigentlich bei den Standarts bleiben, und nicht etwas ganz neues Ausprobieren.
Was genau meinst du damit? AJAX ist letztlich nichts anderes als JavaScript, also nix ganz neues und auch innerhalb der Standards.
Gruß
rfb
Da hast Du Recht, wollte nur nicht erst mich wieder einarbeiten müssen.
Was ist wenn der Benutzer kein Javascript aktiviert hat?
Gibt es auch eine andere Art die Seite Modular zu gestalten ohne Frames oder IFrames zu verwenden?
Der Aufbau des INDEX sollte ungefähr so aussehen.
<Html>
<Head>...</Head>
<Body>
<Table>
<TR>
<TD>Navigation aus Externer Datei</TD>
<TD>Inhalt aus Externer Datei</TD>
</TR>
</Table>
</Body>
</Html>
Die Daten aus Externer Datei können Textdokumente oder auch HTML Seiten sein.
Moin
Gibt es auch eine andere Art die Seite Modular zu gestalten ohne Frames oder IFrames zu verwenden?
Nicht wirklich. Allenfalls kannst du Dateien mittels <object> einbinden, das entspricht aber quasi einem IFrame und funktioniert nicht mit jedem Browser.
Sinnvoll ist nur eine serverseitige Lösung.
Gruß
rfb
Nein es gibt eine Hauptseite mit dem Namen INDEX.SHTML .
Die sollte so aufgebaut sein, das oben die Navigation ist und im unteren Bereich sollte der Quellcode ohne Frames geändert werden.
Ich hatte schon einen Ansatz der auch mal kurzzeitig funktioniert hat, aber leider habe ich den Quellcode wieder Überschrieben. Zu dumm.
Aber es ging mit einer Funktion in Javascript, die denk ich mal diese war
"document.getElementById('TEXT').firstChild.nodeValue = "<!--#include virtual='NEWS.inc' -->";"
Hallo Frank,
Aber es ging mit einer Funktion in Javascript, die denk ich mal diese war
"document.getElementById('TEXT').firstChild.nodeValue = "<!--#include virtual='NEWS.inc' -->";"
Nein! SSI läuft auf dem Server, bevor die Seite ausgeliefert wird; Javascript auf dem Clienten, nachdem die Seite ausgeliefert wurde.
Du könntest die News in einem String in einem externen Javascript ablegen und in ein <p></p> o.Ä. kopieren. Javascripts können auch zur Laufzeit noch nachgeladen werden.
Gruß, Jürgen
Hallo Frank,
Wollte meine Seite nicht mit Frames sondern mit SSI modular aufbauen,
nur habe ich das Problem den Code mit einem Link zu ändern.
<Div id="TEXT"><!-- include virtual="Willkommen.inc" --></Div>
ein cleverer Trick wäre es, die Navigation in die Inhaltsseiten einzubinden - und nicht den Inhalt in die Navigation :-)
Freundliche Grüße
Vinzenz
Hell-O!
Auf meiner Seite, lade ich mit folgenden Befehl eine Seite nach.
Deine Denkweise ist falsch. Du lädst nichts nach, du sagst dem Server nur, dass er *vor* dem Ausliefern der Seite diese an der von dir gewünschten Stelle um den Inhalt der von dir gewünschten Ressource ergänzen soll. Der Client (also dort, wo auch Javascript ausgeführt wird) bekommt davon nichts mit.
Dies möchte ich über einen Link oder einen onmousedown oder onclick ändern damit der Inhalt des DIV Containers statt der "Willkommen.inc" eine "NEWS.inc" Datei in das Dokument lädt.
Wie bereits mehrfach gesagt, ist Javascript dafür nicht die geeignete Technologie. Wenn du bei SSI bleiben möchtest, kannst du dies über Variablen kombiniert mit Bedingungen lösen (siehe Apache-Doku). Das könnte z.B. so aussehen:
HTML-Code für dein Menü:
<ul id="navigation">
<li><a href="index.shtml">Startseite</a></li>
<li><a href="index.shtml?news">Neuigkeiten</a></li>
<li><a href="index.shtml?contact">Kontakt</a></li>
</ul>
HTML und SSI-Direktiven:
<div id="content">
<!--#if expr="$QUERY_STRING = news" -->
<!-- include virtual="news.inc" -->
<!--#elif expr="$QUERY_STRING = contact" -->
<!-- include virtual="contact.inc" -->
<!--#else -->
<!-- include virtual="standard.inc" -->
<!--#endif -->
</div>
Für weitere Informationen ziehe die Dokumentation zu mod_include zu Rate.
Siechfred