Zum Inhalt springen

Wiederkehrenden HTML-Code


Simplicissimus

Empfohlene Beiträge

Hola,

es existiert HTML-Code, der auf allen Seiten in einem Verzeichnis vorkommen soll. Änderungen sollen global übernommen werden, damit ich mir die Schreibarbeit spare.

Ich weiß, mit PHP & Co. gibts tausend Möglichkeiten, das zu realisieren, ich kann aber nur HTML und JavaScript nutzen.

Ich denke, das ist 'ne Standard-Geschichte für viele von Euch, deshalb hab ich's nur grob angerissen. Wenn mehr Erklärungsbedarf besteht, bitte posten.

Was ist zu tun? :confused: Ich brauche Anregungen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke er will die seite nich jedesmal lokal holen um was zu ändern.

Versuche es doch mal indem du eine Javascript Datei erstellst diese dann in alle Seiten einbindest. In dieser JS Datei kannst du dann per document.write() Ausgaben machen die kannst du dir ja n Funktionen zusammenfassen. In denem Content rufst du dann nur noch die Funktionen auf und schon sollte der Inhalt zu sehen sein.

Denke aber daran es durchaus Leute gibt die kein Javascript aktiviert haben und die sehen dann nicht alles. Auch solltest du auf die Browser achten nicht das nur die Leute mit IE was sehen und der Rest nichts richtiges angezeigt bekommt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

[...] für mich hört sich das nach einem einfachen Suchen & ersetzen an, das z.B. Dreamweaver vorweisen kann.

Jo, ist's eigentlich auch, nur dass ich in meiner Umgebung hier keinen HTML-Editor habe (außer Frontpage98, aber der gilt nicht...).

Ich bräuchte sozusagen einen HTML-Präprozessor à la #include...

Irgendwann sollen auch andere Benutzer Änderungen vornehmen können, und für die soll es dann immer noch so komfortabel wie möglich sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was ist falsch an PHP (PHP: Hypertext Preprocessor)?

Ich weiß, mit PHP & Co. gibts tausend Möglichkeiten, das zu realisieren, ich kann aber nur HTML und JavaScript nutzen.

:confused:

EDIT:

Gut SSI muss auch auf dem Server vorhanden sein, aber dann kann er es immerhin in einer "normalen" HTML Datei nutzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

In dieser JS Datei kannst du dann per document.write() Ausgaben machen die kannst du dir ja n Funktionen zusammenfassen. In denem Content rufst du dann nur noch die Funktionen auf und schon sollte der Inhalt zu sehen sein.

Danke Schiller,

ich hab das mit document.write() vorhin schon mal probiert, allerdings hat's da nicht geklappt. Hier ist ein Teil aus dem Code, der immer wieder benutzt werden soll:

<div id="Nav">

 <img src="leiste.png">

 <div id="NavLinks">

  <a href="seite1.htm">Link zu Seite 1</a><br>

 </div>

 <div id="NavRechts" align=right>

  <a href="http://www.test.de/">Test</a><br>

 </div>

</div>

Wie müsste das dann in der *.js und in der *.html aussehen?

Denke aber daran es durchaus Leute gibt die kein Javascript aktiviert haben und die sehen dann nicht alles. Auch solltest du auf die Browser achten nicht das nur die Leute mit IE was sehen und der Rest nichts richtiges angezeigt bekommt.

Das ist in meinem Fall zu vernachlässigen, weil es sich um eine Intranetseite handelt, auf die nur per IE und aktiviertem JavaScript zugegriffen wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

In der JS Datei (daten.js):


function header_daten(){

document.write("<div id=\"Nav\">");

document.write("<img src=\"leiste.png\">");

document.write("<div id=\"NavLinks\">");

document.write("<a href=\"seite1.htm\">Link zu Seite 1</a><br>");

document.write("</div>");

document.write("<div id=\"NavRechts\" align=right>");

document.write("<a href=\"http://www.test.de/\">Test</a><br>");

document.write("</div>");

document.write("</div>");

}

In der HTML Datei dann die Javascript Datei einbinden und dann noch die Funktion header_daten() Aufrufen.

...

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

</head>

...

<script type="text/javascript">


header_daten();


</script>


Ungetestet!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiß, mit PHP & Co. gibts tausend Möglichkeiten, das zu realisieren, ich kann aber nur HTML und JavaScript nutzen.
Aber für (auch) genau diesen Fall sind PHP und alle anderen serverseitig ausgeführten Sprachen geschaffen worden. Wenn du jetzt versuchst auf irgendeine Art und Weise ndrum herum zu kommen, dann erfindest du das Rad zweimal.

Die angesprochene JavaScript Lösung ist die einzige funktionierende Alternative - auch wenn es vom Design her grottenschlecht, immer auf bestimmte Browserfunktionalitäten basierend und fehlerbehaftet bis zum geht-nicht-mehr ist, wirst du anders nicht zum Ziel kommen - ganz davon abgesehen, dass der Aufwand für diese Lösung um ein vielfaches höher sein dürfte, als dafür zu sorgen, dass der Webserver einen Präprozessor erhält.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber für (auch) genau diesen Fall sind PHP und alle anderen serverseitig ausgeführten Sprachen geschaffen worden. [...]

[...] als dafür zu sorgen, dass der Webserver einen Präprozessor erhält.

Danke Perdi, das ist alles so richtig, aber wie gesagt... PHP gibt's net, hab nur HTML und JavaScript als Alternative.

Großes Dankeschön Schiller! :D Funzt noch net. Liegt aber nicht am Code, der ist richtig, irgendwo hängts noch an ner Kleinigkeit - mach' ich morgen, wenn ich wieder frisch bin... muss jetzt erst mal mein Mittagessen verdauen :eat:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Guten Morgen,

melde mich mit neuem Problem zurück... weiß nicht warum, aber wenn in nur einer document.write() ein HTML-Tag und nicht nur Text steht, meldet sich der IE beim Öffnen in der Statusleiste mit dem Fehler "Objekt in Zeile X erwartet (da wo eben die Fkt. aufgerufen wird) und zeigt den Code nicht an.

function test() {

document.write("[EXTERN-TEST 1]");

document.write("[EXTERN-TEST 2]");

document.write("[EXTERN-TEST 3]");

} // funzt...


function test() {

document.write("[EXTERN-TEST 1]");

document.write("[EXTERN-TEST 2]");

document.write("[EXTERN-TEST 3]");

document.write("<a href="mailto:test@test.com>Test-Link</a>");

} // ganze Funktion funzt net wg. letzter Zeile

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was passiert wenn du die letzte Zeile etwas änderst?

document.write("<a href=\"mailto:test@test.com\">Test-Link</a>");

Schiller, Du bist 'n Engel! Solche Kniffe hab' ich als Newbie auf dem Gebiet natürlich noch net drauf :rolleyes:

Aber das war's! Kannste mir ne Erklärung des Phänomens geben? Werden die Anführungszeichen anders interpretiert?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Alles was zwischen den Anführungszeichen steht wir als String interpretiert. Also wenn du in das href wieder nur einfache Anführungszeichen setzt dann wird an diese Stelle der String unterbrochen. Um das unterbrechen zu verweiden musst du diese Anführungszeichen mit einem Escapezeichen versehen welches nun mal der Backslash ist. Alternativ kannst du auch das Versuchen.

document.write('<a href="mailto:test@test.com">Test-Link</a>');

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...