Daniel Thoma: "zurück" verhindern; hat einen (guten?) Grund!

Beitrag lesen

Hallo Layna,

man kann das natürlich dogmatisch sehen und sagen, dass man diese Anwendung besser unschädlich machen sollte. Wirklich viele Webanwendungen kommen aber nicht richtig mit der Vor- und Zurückfunktion des Browsers klar und ab- und an wird man als Softwareentwickler eben in einem Katastrophengebiet abgeworfen und muss retten, was zu retten ist.

Die Variante mit location.replace scheint mir noch die vielversprechendste zu sein. Um sie anzuwenden, muss man jetzt aber jeden Link umbauen oder für jeden Link einen Eventhandler registrieren.
Letzteres sollte etwa so gehen:

var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; ++i) {
  if (links[i].href) { // Falls die Seiten noch Anker der Form <a name="asd">...</a> verwenden
    (function() {
      var link = links[i];
      links[i].onclick = function() {
        window.location.replace(link.href);
      };
    })();
  }
}

Besonders intuitiv ist es natürlich nicht, dass man dann als Anwender einfach auf der Seite ladet, die man vor der Anwendung besucht hat. Aber das ist der Anwender wahrscheinlich gewöhnt und der Anbieter stellt seine Inkompetenz nicht ganz so offensichtlich zur Schau wie wenn er mit Java-Exceptions konfrontiert wird.

Grüße

Daniel