Posted at

[HTML5] オフラインでローカルストレージを利用するときの注意

More than 5 years have passed since last update.

オフラインでローカルストレージを扱うコンテンツをつくったときにすごいコケ方をしたのでメモしておきます。(※iOSのアプリのUIWebViewで読み込ませるコンテンツ)

<症状>

自分の環境では問題なく動作するが、先方の環境ではうまく動作しない。

・自分の環境(win/chrome)

・先方の環境(max/safari)

ローカルストレージを扱っている部分でドメイン毎に共通のストレージにアクセスされるはずなのに、なぜかページ毎に個別のストレージが作られているような症状がでた。

<原因>

macでhttp/ftp経由でデータをダウンロードすると否応なしにファイルに「com.apple.quarantine」という拡張属性が強制的に付加される。これは隔離属性とよばれているもので、この属性が付いているとどうやらファイルがアクセスできる領域に制限がついてしまうらしい?

<解決策>

この拡張属性を消すにはターミナルからコマンドで

xattr -d com.apple.quarantine ******.zip

としてあげると消える。

もしくはMacでダウンロードしない。