ClientStorage
2009-08-09 (日) 20:19:00 (909d)

lifebuoy.png iPhone/iPod touch搭載のMobileSafariがサポートするHTML5 Client-side Database Storageに関するまとめ

2種類のclient-side storage  

  • HTML 5 Draft Recommendationに、storage規定が複数存在する。内容は下記の2種類。
    • 「5.10.1 Storing name/value pairs(いわゆるDOM Storage)」
    • 「5.10.2 Database storage(SQLite3)」 ※青空文庫ビューワ for iPhoneで使用したのはこちら。
  • Disk spaceやPrivacy、Security(same-originポリシー = 'http://www.example.com:80'で共有)については共通仕様。iPhoneのMobileSafariではDomain単位で5MB上限がついており、それ以上は設定不可能。

SQLite  

  • WebKit Does HTML5 Client-side Database Storage
  • [HTML 5 Draft Recommendation — 3 December 2008]の「5.10.2 Database storage」
  • openDatabaseでオープンし、transactionを使って、executeSqlしてSQLResultSet?に値が入る。
  • SQL経由のほか、PCではWebインスペクタからSQL発行や削除が、iPhoneでは設定メニューのSafari項目からdatabase削除が可能。

DOM Storage  

  • [HTML 5 Draft Recommendation — 3 December 2008]の「5.10.1 Storing name/value pairs」
  • 巨大なcookie様のもので、従来個別にcookie操作メソッドを実装していたものが共通化できる。
  • こちらはSafari4でサポートされるもので、現在のiPhone(MobileSafari)では対応していません。
    5.10.1.2 The Storage interface
    interface Storage {
     readonly attribute unsigned long length;
     [IndexGetter] DOMString key(in unsigned long index);
     [NameGetter] DOMString getItem(in DOMString key);
     [NameSetter] void setItem(in DOMString key, in DOMString data);
     [XXX] void removeItem(in DOMString key); 
     void clear();
    };

参考サイトなど  

SQLite  

  • Notes Demo
    • WebKit.orgによる実装と、実働するポストイット形式のメモ帳アプリのサンプルコード。非常によく出来たサンプルコードです。対応していないブラウザでは、非対応の警告が出ます。

DOM Storage  





スポンサード リンク