home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/HTML5/FileSystemAPI (v2)

技術/HTML5/FileSystemAPI (v2)

技術 / HTML5 / FileSystemAPI (v2)
id: 1045 所有者: msakamoto-sf    作成日: 2011-12-25 22:08:53
カテゴリ: HTML 

FileSystem API のサンプルとメモ。

参考:

サンプル

2011年末現在、Chromeでしか動作しないものの、サンプルを作って見ました。

習作1

PersistentとTemporaryの二種類のストレージに、"foo.txt"という名前のファイルをRead/Writeします。
PC用(Chrome専用)です。

習作2

スマホ用のブラウザでの検証。
日記/2011/12/11/MonacaとPhoneGapでファイル操作してみた。 参照。

習作3

jQuery使ったり、クラスにまとめたりして整理した・・・つもり。
PC, Chrome専用。

PhoneGap環境も一応考慮してみたのだけれど、まだ上手く動かせていない。

メモ

  • 習作1では、PersistentとTemporaryで同じファイル名にRead/Writeしてみたが、それぞれ独立していた。
    • Persistentではリロードしてもファイル内容が維持されていたが、Temporaryのファイルはリロードにより消去される。
    • Chrome上では「高度な設定」→「コンテンツの設定」→「全てのCookitとサイトのデータ...」で「ファイルシステム」として確認できる。
  • 習作1を異なるドメインに配置してアクセスしてみたところ、同じファイル名にRead/Writeしているが、それぞれ独立していた。
    • サブドメインを使ったアクセス制御が可能かどうかは未調査・未検証。iframe中での使用についても同様。
  • 習作1では fullpath が PersistentもTemporaryも "/" となっていたが、習作2では "/sdcard" などローカルのパス名が露出している。
  • スマホでは"LocalFileSystem.PERSISTENT", "LocalFileSystem.TEMPORARY"としてアクセスしたが、PC用では"window."に直す必要があったり、Chrome用では window.webkitRequestFileSystem を使用する必要があったりと、ブラウザの対応状況によってオブジェクトの階層がずれている。

感想:

  • callback関数を多段で渡していくので、プログラミングが直感的でなく、可読性が落ちる。
    • 将来的にjQueryなどでスマートにラップされるようにはなると思うが・・・というか、なってほしい。
  • スマホの場合にSDカード領域にかなり自由にアクセスできそうなので、悪意のあるJavaScriptを考慮すると、将来的にはPC用Chromeと同様のSandBox化を行なって欲しい。というかぶっちゃけありえなーい。


プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2013-07-28 16:33:55
md5:ae437d688c72c800d61e9fcb94c2ba00
sha1:38d096669cba745045926816aea0d2af23819efa
コメント
コメントを投稿するにはログインして下さい。