ホーム > Web技術 > userDataのXMLDocumentは便利!

userDataのXMLDocumentは便利!

2008 年 2 月 21 日 コメントをどうぞ コメント

IEで利用できるuserData behaviorは、ユーザのローカル領域に任意のデータを保存する仕組みとしてよく知られています。 WEBの仕様ではuserDataよりも、Firefox2以降でサポートされているDOM:Storageの方がより標準に近い仕様ですが、IEを無視できないので両方に対応するケースがほとんどです。

これまでの実装は、userDataはsetAttribute、DOM StorageはsetItemでテキストデータを保存するのが通例でした。 この方法の問題点は、保存するデータが大量の繰り返しデータのときに、その一部分のみを変更しにくい点にあります。

実際にRSS+リーダーでは、履歴とクリップの処理に利用していましたが、データの追加や削除が発生するたびに、全体のデータを再構築して保存するテキストを作成していました。

ある時、何気なくuserDataの仕様を調べていたときに、XMLDocumentというプロパティがあることに気が付きました。 このプロパティを使うと、userDataの保存データをDOMで操作することができます。

DOMが使えるということは、各繰り返しのデータ一つ一つをエレメントとして設定することが可能ということです。 一部のデータを変更したければ、該当するエレメントのみに変更を加えればよいことになります。

データの詳細を保存する場所は、各エレメントのアトリビュート、テキストノード、CDATAに至るまで自由に使うことができます。 userDataの保存ファイルはXMLテキストですが、このXMLDocumentプロパティを使うことで、userDataの能力を100%発揮することができるのです。

このXMLDocumentがとても便利なので、DOM:Storageの方も同じようにDOM操作で保存できるラッパーを作成しました。 今ではIEとFirefoxの両方で同じ使い方が出来る データ保存クラスとして活躍しています。

カテゴリー: Web技術
  1. コメントはまだありません。
  1. トラックバックはまだありません。

スパム投稿ではないことを確認するため、計算式の答えを半角数字で入力してください。 * Time limit is exhausted. Please reload the CAPTCHA.