Rolf B: Link soll öffnen im <div> namens "Information"!

Beitrag lesen

Ein Nachtrag.

Du willst ja gar keine fremde Seite laden, sondern deine kontakt.html in die Informationsbox laden.

Wenn Du diese kontakt.html als Fragment schreibst, also ohne <html> und <body>, als reinen DIV Inhalt, dann kann man sowas machen. Man benötigt dafür aber auf jeden Fall JavaScript. Und damit stellt sich die Frage, ob eine Webseite so gebaut sein sollte. Es ist nämlich nicht überall JavaScript aktiv, und in dem Fall ist deine Kontakt-Seite nicht erreichbar. Deine Impressumsseite auch nicht, wenn Du es da genauso machst - und das kann je nach Zweck deiner Seite dann richtig Ärger geben. Deswegen: Vorsicht damit. Du brauchst auf jeden Fall einen Fallback, der ohne JavaScript funktioniert, und das hat zur Konsequenz, dass Du dein Kontakt-HTML zweimal schreibst oder serverseitig Tricks einsetzen musst, um bei inaktivem JavaScript deine Kontakt-fragment in den erforderlichen Seitenrahmen einzubauen. SSI kommt da in den Sinn, oder PHP.

Was Du mit JavaScript tun musst:

  • Registrieren eines click-Listeners auf dem Link Element
  • Im Click-Handler das Kontakt-Fragment per fetch oder XMLHttpRequest anfordern
  • Die Reaktion auf den click abbrechen (preventDefault Methode des Event-Objekts)

Im Response-Handler von Fetch/XMLHttpRequest findest Du dann das HTML Fragment und kannst es als innerHTML ins Informations-DIV einsetzen. Das ist alles nicht so ganz einfach. Wenn Du gar kein JavaScript kannst, dann ist das eine Nummer zu groß für Dich und der Link auf die Homepage unseres Wiki als "Tutorial" tatsächlich der beste erste Schritt.

Was Du nicht erwarten kannst, ist, dass hier irgendwer eine fertige Lösung dafür zum Abschreiben hinstellt.

Rolf

--
sumpsi - posui - obstruxi