3

ユーザーが自分のコンピューターにダウンロードし、ハードドライブからブラウザーで開く簡単なアプリを作成しています。標準ブラウザのいずれかを使用して、データを保存できるようにする必要があります。(ただし、ブラウザ間でデータにアクセスできる必要はありません)。

このリンクで説明されているように、HTML5 の localstorage を使用している場合、サイトの URL が次のような場合、Internet Explorer はエラーをスローしますfile:///C:/Web/mylocaltodo.html。「localhost」を使用することで回避できると書かれていますが、それが提供するサンプル アプリケーションには、これがどのように行われるかが示されていません。

ユーザーが localhost に Web サーバーをインストールせずに、オフライン サイトのデータをローカルに保存することはできますか? また、Internet Explorer を含む最新のブラウザーで動作しますか?

ありがとう

4

1 に答える 1

6

質問はまだ古いですが、複数のウィンドウ間で同期する必要があるアプリケーションを作成するときに、同様の問題に直面していました。

そのため、私の経験を他の開発者と共有したいと思います。これにより、問題の長い検索を回避できます。

実際、オリジン ポリシーが同じであるため( を介したローカル ファイル アクセスと同様XMLHttpRequest)、 を読み取るためのアクセスは拒否されるためlocalStorage、ウィンドウ間で変更が同期されません。

要するに: file:///URL として使用している場合、localStorage を同期することはできません。単純な Web サーバーをhttp://localhost/URL として使用すると、それが可能になります。

奇妙な動作で、悲しいことに、javascript コンソールにエラー メッセージは表示されません。いくつかの実験をオフラインで試すときは、そのことを念頭に置いlocalStorageてください。コード内の問題を探すのに夢中にならないでください ;-)

于 2013-08-02T16:03:52.727 に答える