Felix Riesterer: Simple Include Möglichkeit mit Javascript

Beitrag lesen

Lieber Henry,

Es geht mir darum nur einfache Html- oder Textseiten bei Bedarf einzubinden, keine externen Scripte.

nun gut, dann beschreibe ich diesen Beispielfall:

Datei nav-include.html

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Navi für meine Seite</title>
  </head>
  <body>
    <nav>
      <h2>Navigation</h2>
      <ul>
        <li><a href="./index.html">Home</a></li>
        <li><a href="./impressum.html">Impressum</a></li>
      </ul>
    </nav>
  </body>
</html>

Datei impressum.html

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Impressum meiner Seite</title>
  </head>
  <body>
    <main>
      <h1>Impressum</h1>
      <p>Anbieter dieser Website:</p>
      <ul>
        <li>Max Mustermann</li>
        <li>Hauptstraße 123</li>
        <li>D-12345 Musterstadt</li>
      </ul>
      <p>Meine Website speichert einen Cookie in Ihrem Browser.
         Wenn Sie damit nicht einverstanden sind, besuchen Sie
         meine Seite mit entsprechend konfigurierten
         Browsern-Programmen. Allerdings wird dann das eine oder
         andere Bequemlichkeitsfeature nicht wie erwartet
         funktionieren!
      </p>
    </main>
  </body>
</html>

Wenn jetzt klar wäre, wo genau die Datei nav-include.html in das Dokument von impressum.html eingefügt werden soll, und ob sie in Gänze oder nur ausgewählte Teile davon eingefügt werden sollen, könnte man für diese Datei ein passendes JavaScript schreiben. Man könnte z.B. die zu includierende Datei auf den Inhalt ihres <body> beschränken und diesen Inhalt ans Ende des <body> von impressum.html einfügen. Aber wie sieht es mit anderen Inhalten aus, die vielleicht an eine ganz besondere Stelle im Dokument eingefügt werden sollen? Wie sorgst Du im Zieldokument dafür, dass Dein JavaScript weiß, welche Inhalte wohin gehören?

Das Ganze bedeutet aber auch, dass das Zusammenfügen der Inhalte erst im Browser passiert und nicht schon auf dem Server. Das ist insofern von Bedeutung, als dass für das vollständige Anzeigen des reinen Dokumentinhalts mehr als nur ein HTTP-Request vom Browser ausgehen muss. Dazu muss der Browser auch entsprechend JavaScript nutzen dürfen (hat fast niemand abgeschaltet) und Deinen JavaScript-Code 100%ig verstehen.

Es gibt durchaus sinnvolle Szenarien, in denen eine solche Vorgehensweise einen Sinn hat (siehe Lazy Loading), aber für den von mir beschriebenen Fall halte ich es für Unsinn.

Liebe Grüße,

Felix Riesterer.

0 53

Simple Include Möglichkeit mit Javascript

Henry
  • includes
  • javascript
  1. 0
    Felix Riesterer
    1. 0
      Henry
      1. 0
        dedlfix
        1. 0
          Henry
          1. 0
            Matthias Apsel
            1. 0
              Henry
              1. 0
                Tabellenkalk
            2. 0
              Rolf b
              1. 0
                Henry
                1. 0
                  Matthias Apsel
          2. 0
            dedlfix
            1. 0

              Simple Include Möglichkeit mit Javascript (teilw. gelöst)

              Henry
              1. 1
                JürgenB
                1. 0
                  Henry
                  1. 0
                    Henry
                    1. 0
                      JürgenB
                      1. 0
                        Henry
                        1. 0
                          JürgenB
                          1. 0
                            Henry
                            1. 0
                              dedlfix
                              1. 0
                                Henry
                                1. 0
                                  dedlfix
                                2. 0
                                  TS
                                  • https
                                  • javascript
                                  1. 0
                                    dedlfix
                                    1. 0
                                      TS
                                  2. 0
                                    Henry
      2. 0
        Felix Riesterer
        1. 0
          Henry
          1. 0
            Rolf b
          2. 0
            Gunnar Bittersmann
            1. 0
              Henry
              1. 0
                Gunnar Bittersmann
                1. 0
                  Henry
                  1. 2
                    JürgenB
                    1. 0
                      Henry
                  2. 0
                    Felix Riesterer
                    1. 0
                      Henry
                      1. 1
                        Gunnar Bittersmann
                  3. 2
                    Tabellenkalk
                    1. 0
                      Henry
                      1. 0
                        Auge
                        1. 0
                          Henry
                      2. 0
                        Tabellenkalk
                      3. 1
                        dedlfix
                      4. 0
                        Gunnar Bittersmann
                        1. 0
                          Henry
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              Henry
                              1. 0
                                dedlfix
                              2. 2
                                Gunnar Bittersmann
    2. 0
      dedlfix
      • includes
      • php
  2. 2
    Gunnar Bittersmann