5

ローカル ストレージに 1 つのキーを設定しようとする次の 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>

1 つの iPhone5 で、これにより次の例外が発生します。

テスト FAIL
SecurityError: DOM 例外 18

同じiOSバージョン(7.0.2)でテストされた他のiPhone(他の3つ)は動作します。

https://xydomain.tldhttp://x.domain.tldの両方から上記のページをテストしましたが、同じ例外があります。

「DOM Exception 18」に関するその他の質問は、セキュリティ設定に関するものと思われます。localhost でテストしていますが、https 経由でリモート コンテンツにリンクしています。しかし、これは単にローカル ストレージにアクセスしようとする単純な html ページです。

4

3 に答える 3

1

問題は解決しました。クライアント (間違った電話はクライアントの電話でした) は、iPhone にインストールされた全社的なセキュリティ プラットフォームを使用していることが明らかになりました。そのプラットフォームには、すべての Javascript 機能を有効にするために使用する必要がある別の Web ブラウザーがあります。電話を持っているエンド ユーザーはこれを知らなかったので、Safari を使用していましたが、このプラットフォームがアクティブになっていると何らかの形で不自由になりました。したがって、解決策は、ブラウジングに適切なアプリケーションを使用することでした。

プラットフォームはhttp://www.mobileiron.com/で、安全なブラウザはWeb@Workと呼ばれます。

于 2013-11-07T08:14:21.243 に答える
1

Cookie がブロックされている場合、localStorage の設定時に DOM Exception 18 エラーが表示されることをどこかで読みました。シミュレータiPhone 5(iOS7搭載)でエラーを再現できました(問題自体を再現したかどうかはわかりません)。設定に移動し、Safariの場合は常に「Cookieをブロック」します。それがあなたのiPhone 5がどのように構成されているかどうかはわかりません...

于 2013-10-22T06:14:17.567 に答える
-1

最初の数秒以内にローカル ストレージのデータを変更できないことがわかりました。タイマーを 5000 ミリ秒に設定し、setItem 関数を実行して何が起こるかを確認します。

于 2013-10-22T13:42:48.107 に答える