sessionStorage heißt, dass der Wert nur während einer Browsersitzung gespeichert wird, localStorage dagegen dauerhaft.
Da dir eine dauerhafte Speicherung lieber wäre, habe ich es mal mit localStorage implementiert und bin selbst überrascht, wie einfach es ist:
<script>
var userlang = localStorage.getItem("lang");
if (userlang) {
document.querySelector("input[name='rdlang'][value='" + userlang + "']").checked = true;
}
var rbs = document.querySelectorAll("input[name='rdlang']");
for (var i = 0; i < rbs.length; i++) {
var therb = rbs[i];
therb.addEventListener("change", function() {
localStorage.setItem("lang", this.value);
});
}
</script>
Alles anzeigen
Das Skript musst Du am Ende des Body, vor dem schließenden </body>, einfügen.
Ich bin mir noch nicht sicher, ob man dort ein try-catch braucht; ich glaube, mich zu erinnern, dass es in einem anderen Projekt zu einem Laufzeitfehler kam, wenn localStorage nur deaktiviert war, obwohl der Browser es unterstützte. Sollten wir mal beobachten.