Rolf B: JavaScript: Event wenn der Hash-Teil der URL entfernt wird

Hallo,

es gibt die Events hashchange und popstate. Ich kann damit feststellen, ob sich der Hash der URL ändert (in einer SPA wichtig). Es gibt ein paar Macken, z.B. triggert Chrome beide Events, der IE 11 aber nur hashchange, aber damit kann ich klar kommen.

Was mir Bauchweh macht, ist, dass hashchange in beiden Browsern nicht triggert, wenn ein User den Hash-Teil der URL komplett entfernt.

Muss ich dafür jetzt doch wieder einen setInterval-Handler bemühen? Ich hoffte, mit hashchange könnte man darauf verzichten.

Rolf

--
sumpsi - posui - clusi
  1. Tach!

    Was mir Bauchweh macht, ist, dass hashchange in beiden Browsern nicht triggert, wenn ein User den Hash-Teil der URL komplett entfernt.

    Das ergibt ja dann auch einen neuen Request. Also wenn alles inklusive # entfernt wird und der Nutzer dann Enter drückt.

    Muss ich dafür jetzt doch wieder einen setInterval-Handler bemühen? Ich hoffte, mit hashchange könnte man darauf verzichten.

    Der wird den neuen Request auch nicht fangen können.

    dedlfix.

    1. Hallo dedlfix,

      wenn ich http://example.com/foo/bar.html#hugo in http://example.com/foo/bar.html ändere, löst das einen Request aus und damit einen Page-Reload?

      Ich gehe jetzt ins laaaange Wochenende (8 Tage) und kanns nicht mehr probieren...

      Rolf

      --
      sumpsi - posui - clusi
      1. Hallo Rolf,

        wenn ich http://example.com/foo/bar.html#hugo in http://example.com/foo/bar.html ändere, löst das einen Request aus und damit einen Page-Reload?

        Ja.

        LG,
        CK

      2. Tach!

        wenn ich http://example.com/foo/bar.html#hugo in http://example.com/foo/bar.html ändere, löst das einen Request aus und damit einen Page-Reload?

        Ja, genauso wie das Enter-Drücken, ohne dass man die URL (ohne Hash) verändert. Kann man in den Browsertools gut mitverfolgen.

        dedlfix.