Sascha Schulz
2023-02-28 191f6ecd8237435ed4f0a1f7f570cd17c6731862
fix JS basics <script> examples, add HTML parsing, splitting code in CSS and JS files and HTTP introduction
1 Dateien geändert
2 Dateien hinzugefügt
188 ■■■■ Geänderte Dateien
assets/images/document.write.jpg Patch | Ansicht | Raw | Blame | Historie
assets/images/osi-model.jpg Patch | Ansicht | Raw | Blame | Historie
index.html 188 ●●●● Patch | Ansicht | Raw | Blame | Historie
assets/images/document.write.jpg
assets/images/osi-model.jpg
index.html
@@ -498,29 +498,18 @@
                        </table>
                    </section>
                    <section>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                <script type="text/template">
                                    <!DOCTYPE html>
                                    <html lang="de">
                                        <head>
                                            <meta charset="UTF-8">
                                        </head>
                                        <body>
                                            <!-- code -->
                                        </body>
                                    </html>
                                </script>
                            </code>
                        </pre>
                    </section>
                    <section>
                        <p>Code wird zwischen <code>script</code>-Tags geschrieben</p>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                <script>
                                    ...
                                </script>
                                &lt;!DOCTYPE html>
                                &lt;html lang="de">
                                    &lt;head>
                                        &lt;meta charset="UTF-8">
                                    &lt;/head>
                                    &lt;body>
                                        &lt;script>// code&lt;/script>
                                    &lt;/body>
                                &lt;/html>
                            </code>
                        </pre>
                    </section>
@@ -549,6 +538,165 @@
                        </pre>
                    </section>
                </section>
                <section>
                    <section>
                        <h2>Auslagern in verschiedene Dateien</h2>
                    </section>
                    <section>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                &lt;!DOCTYPE html>
                                &lt;html>
                                    &lt;head>
                                        <!-- CSS -->
                                        <link href="styles.css" rel="stylesheet">
                                    &lt;/head>
                                    &lt;body>
                                        <!-- JS -->
                                        &lt;script src="index.js">&lt;/script>
                                    &lt;/body>
                                &lt;/html>
                            </code>
                        </pre>
                    </section>
                    <section>
                        <p>Parsen eines HTML-Dokuments</p>
                        <pre>
                            <code class="html" data-trim data-line-numbers="1|2|3|4|5|6|7|8|9|10">
                                <script type="text/template">
                                    <!DOCTYPE html>
                                    <html lang="de">
                                        <head>
                                            <meta charset="UTF-8">
                                            <title>Coole Seite 😀</title>
                                        </head>
                                        <body>
                                            <div>Ganz langer Text</div>
                                        </body>
                                    </html>
                                </script>
                            </code>
                        </pre>
                    </section>
                    <section>
                        <p>Verschiedene Varianten, JavaScript erst am Ende auszuführen</p>
                        <p>Damals mit jQuery:</p>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                &lt;!DOCTYPE html>
                                &lt;html>
                                    &lt;head>
                                        &lt;script>
                                            $(document).ready((event) => {
                                                const element = document.querySelector("#hello");
                                            });
                                        &lt;/script>
                                    &lt;/head>
                                    &lt;body>
                                        <div id="hello">Hello World!</div>
                                    &lt;/body>
                                &lt;/html>
                            </code>
                        </pre>
                    </section>
                    <section>
                        <p><code>script</code>-Tag am Ende</p>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                &lt;!DOCTYPE html>
                                &lt;html>
                                    &lt;head>
                                    &lt;/head>
                                    &lt;body>
                                        <div>Hello World!</div>
                                        ...
                                        &lt;script src="index.js">&lt;/script>
                                    &lt;/body>
                                &lt;/html>
                            </code>
                        </pre>
                    </section>
                    <section>
                        <p>Event-basiert, z.B. per DOMContentLoaded</p>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                &lt;!DOCTYPE html>
                                &lt;html>
                                    &lt;head>
                                        &lt;script>
                                            document.addEventListener("DOMContentLoaded", (event) => {
                                                // wird ausgeführt, sobald das Dokument geparst wurde
                                                const element = document.querySelector("#hello");
                                            });
                                        &lt;/script>
                                    &lt;/head>
                                    &lt;body>
                                        <div id="hello">Hello World!</div>
                                    &lt;/body>
                                &lt;/html>
                            </code>
                        </pre>
                    </section>
                    <section>
                        <p>Moderne Variante</p>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                &lt;script src="index.js" defer>&lt;/script>
                            </code>
                        </pre>
                    </section>
                    <section>
                        <h2><code>document</code>-Operationen</h2>
                        <pre>
                            <code class="js" data-trim data-line-numbers>
                                document.open();
                                document.write("<div>Booo!</div>");
                                document.close();
                            </code>
                        </pre>
                    </section>
                    <section>
                        <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/write">
                            <img data-src="/assets/images/document.write.jpg">
                        </a>
                    </section>
                    <section>
                        <pre>
                            <code class="html" data-trim data-line-numbers>
                                &lt;body>
                                    &lt;script>document.write("<p>Dies ist ein Text.</p>")&lt;/script>
                                    <button>Dunkle Magie</button>
                                    &lt;script>
                                        const button = document.querySelector("button");
                                        button.addEventListener("click", () => {
                                            document.write("Und pfutsch!");
                                        });
                                    &lt;/script>
                                &lt;/body>
                            </code>
                        </pre>
                    </section>
                </section>
                <section>
                    <section>
                        <h2>HTTP-Protokoll</h2>
                    </section>
                    <section>
                        <img data-src="/assets/images/osi-model.jpg">
                    </section>
                    <section>
                        <ul>
                            <li>Befindet sich auf den OSI-Schichten 5, 6 und 7</li>
                            <li>Basiert auf dem Anfrage-Antwort-Prinzip</li>
                            <li>Basiert auf reinem Text</li>
                        </ul>
                    </section>
                    <section>
                        <p><code>npm install http-server</code></p>
                        <p><code>npx http-server --port 3000</code></p>
                    </section>
                </section>
            </div>
        </div>