我有以下 html 尝试在本地存储中设置一个键。
<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
  <script>
  document.addEventListener('DOMContentLoaded', loaded, false);
  function loaded(){
    try {
      window.localStorage.setItem("Test", "SetItemValue");
      document.getElementById("test").innerHTML = "Test OK";
    } catch (err) {
      document.getElementById("test").innerHTML = "Test FAIL<br>" + err.message;
    }
  }
  </script>
</head>
<body>
  <div id="test">Testing...</div>
</body>
</html>
在一个 iPhone5 上,这会导致以下异常。
测试失败
SecurityError:DOM 异常 18
使用相同的 iOs 版本 (7.0.2) 测试的其他 iPhone(其他三部)可以正常工作。
我已经从https://xydomain.tld和http://x.domain.tld测试了上述页面,但有相同的例外。
有关“DOM Exception 18”的其他问题似乎与安全设置有关,例如。在 localhost 上进行测试,但通过 https 链接远程内容。但这是一个简单的 html 页面,它只是尝试访问本地存储。