ClientStorage2009-08-09 (日) 20:19:00 (909d)
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による実装と、実働するポストイット形式のメモ帳アプリのサンプルコード。非常によく出来たサンプルコードです。対応していないブラウザでは、非対応の警告が出ます。
- Safari 3.1 に実装された「Client-side database storage (SQL API)」とは何か? - IT戦記
- iPhone向けサイトを考える:javascriptからiPhoneローカルにデータベースを作る
- 保存したページをオフラインで見るwebアプリ - iPod touchで遊ぶ (iPhoneもね)
DOM Storage
- Safari4 と IE8 で実装された DOM Storage とは何か - IT戦記
- HTML 5の2つのDOM Storageを利用したカウンター - builder by ZDNet Japan
スポンサード リンク
