if (typeof (Storage)! == "undefined") {
Эта строка кода используется для проверки, поддерживает ли браузер LocalStorage или нет.
Со ссылкой на этой статьи мы видим, что LocalStorage поддерживает IE 8+ и Microsoft Edge 12+.Вы можете проверить версию своего браузера и убедиться, что он поддерживает localStorage.
Я создал образец, используя следующий код:
<div>
<select id="mySelect">
<option value="us">us</option>
<option value="de">de</option>
<option value="en">en</option>
</select>
</div>
<script>
var lang;
function translateTexts() {
if (typeof (Storage) !== "undefined") {
if (window.localStorage.getItem("lang") == null) {
window.localStorage.setItem("lang", 'de');
}
var lang = window.localStorage.getItem("lang");
debugger;
if (lang == 'de') {
document.getElementById("mySelect").selectedIndex = "1";
}
if (lang == 'en') {
document.getElementById("mySelect").selectedIndex = "2";
}
console.log("support storage");
} else {
lang = "de";
console.log("de");
}
}
translateTexts();
</script>
Он хорошо работает на моей стороне (с помощью Microsoft Edge 44.18362.1.0 и IE 11.116.18362.0 версия), и результат, подобный этому. ![enter image description here](https://i.stack.imgur.com/Kx2At.png)
Итак, пожалуйста, проверьте свой код JavaScript, есть ли другой сценарий, который вызовет эту проблему.
Кроме того, вы можете попытаться очистить кеш браузера, историю и данные браузера, а затем повторно протестировать свой код (также вы можете создать новый пример для проверки кода выше).