Orlok: Verwendung Zugriffszähler mit Onlineanzeige

Beitrag lesen

Hallo Camping_RIDER

Warum eigentlich body onload noch ins HTML und nicht direkt ein body.addEventListener('load', ...)?

Diese Variante würde nicht funktionieren, denn das body-Element hat kein load-Event.

Aus historischen Gründen führt eine Handler-Registrierung über das Attribut onload auf dem body-Element tatsächlich dazu, dass der Handler auf window registriert wird, wo es ein entsprechendes Event gibt. Bei Verwendung der moderneren Methode addEventListener passiert das hingegen nicht.

const handler = _ => {}

document.body.onload = handler

console.log(document.body.onload === window.onload) // true

Die Eigenschaft body.onload reflektiert window.onload und umgekehrt. Das heißt, eine Zuweisung an eine der Eigenschaften überschreibt immer auch den Wert der jeweils anderen Eigenschaft. Und eine spätere Zuweisung an eine der beiden Eigenschaften überschreibt eine vorangegangene Registrierung über das onload-Attribut im Markup.

    <body onload="console.log(1)">
        <script>

            window.onload = _ => console.log(2)

        </script>
    </body>
</html>

Hier wird nur 2 in die Konsole geschrieben, da in beiden Fällen ein Handler für die Eigenschaft window.onload registriert wird, und das Skript die Registrierung des anonymen Handlers im Markup überschreibt.

Soll aus einem Skript heraus das globale load-Event überwacht werden (und nicht das meist besser geeignete Event DOMContentLoaded), dann muss die Registrierung auf dem window-Objekt erfolgen, wenn dafür die zu Recht empfohlene Methode addEventListener verwendet werden soll.

window.addEventListener('load', event => /* ... */)

// oder

addEventListener('load', event => /* ... */)

Die explizite Referenz auf window kann weggelassen werden, da addEventListener als Eigenschaft des globalen Objekts auch direkt angesprochen werden kann. Die Bindung an window als Kontextobjekt erfolgt hier automatisch.

Viele Grüße,

Orlok

0 75

Verwendung Zugriffszähler mit Onlineanzeige

Christian
  • html
  • php
  1. 1
    TS
    1. 0
      Christian
      1. 0
        TS
        1. 0
          Christian
          1. 0
            TS
  2. 0
    Der Martin
    1. 0
      Camping_RIDER
      1. 0
        Der Martin
        • html
        • php
        • sprache
        1. 0
          Camping_RIDER
          1. 2
            marctrix
      2. 0
        TS
        1. 0
          Camping_RIDER
          1. 0
            Christian
            1. 0
              Camping_RIDER
              1. 5
                Orlok
                • dom
                • html
                • javascript
                1. 0
                  Camping_RIDER
                  1. 0
                    TS
                    • html
                    • javascript
                    • projekt
                    1. 1
                      Camping_RIDER
                    2. 0
                      JürgenB
                      1. 0
                        TS
                        1. 0
                          JürgenB
                          1. 0
                            TS
                            1. 0
                              JürgenB
                              1. 0
                                Camping_RIDER
                                1. 0
                                  JürgenB
                                  1. 0
                                    Christian
                                    1. 0
                                      JürgenB
                                      1. 0
                                        Christian
                                        1. 0
                                          Christian
                                          1. 0
                                            Camping_RIDER
                                            1. 0
                                              Christian
                                              1. 0
                                                Camping_RIDER
                                                1. 0
                                                  Christian
                                                  1. 1
                                                    Camping_RIDER
                                                    1. 0
                                                      Christian
                                                      1. 0
                                                        Gunnar Bittersmann
                                                        • javascript
                                                        1. 0
                                                          Christian
                                                          1. 0
                                                            Matthias Apsel
                                                2. -1
                                                  Christian
                                                  1. 1
                                                    Camping_RIDER
                                  2. 0
                                    Camping_RIDER
                                    1. 0
                                      JürgenB
                                    2. 6
                                      Orlok
                                      • dom
                                      • html
                                      • javascript
                    3. 8
                      Orlok
                      • barrierefreiheit
                      • html
                      • javascript
                      1. 1
                        1unitedpower
                        1. 0
                          Gunnar Bittersmann
                          • html
                          • javascript
                          • php
                          1. 0
                            Orlok
                            1. 2
                              Orlok
                              • html
                              • javascript
                              • programmiertechnik
                          2. 0
                            1unitedpower
                      2. -1
                        marctrix
                        1. 4
                          1unitedpower
                          • mysql
                          • php
                          • wiki
                          1. 0
                            Matthias Scharwies
                        2. 0
                          Gunnar Bittersmann
                          1. 1
                            marctrix
                            1. 1
                              marctrix
                            2. 1
                              Gunnar Bittersmann
                              1. 0
                                marctrix
                                1. 0
                                  JürgenB
                                  1. 0
                                    marctrix
                                    1. 1
                                      Camping_RIDER
                                      1. 0
                                        Der Martin
                                        1. 1
                                          Camping_RIDER
                                          1. 0
                                            Der Martin
                                            1. 1
                                              Camping_RIDER
                                    2. 0
                                      Gunnar Bittersmann
                                      1. 3
                                        Matthias Scharwies
                                        1. 1
                                          TS
                                          1. 0
                                            Matthias Scharwies
                                          2. 0
                                            Camping_RIDER
                                            1. 0
                                              Felix Riesterer
                                            2. 0
                                              TS
                                              • html
                                              • javascript
                                              • php
                                      2. 0
                                        marctrix
                                        1. 1
                                          Matthias Apsel
                                          1. 0
                                            marctrix