setUserData

利用者データ (DOM)

[6] DOM3利用者データ (user data) は、 任意の節点アプリケーション開発者が任意のデータを保持させることができる機能でした。

[7] W3C勧告DOM水準3中核で規定されていましたが、 誰も使わなかったため、現在の DOM Standard では廃止されています。

機能

[8] Node インターフェイスgetUserData メソッドで任意の値を登録でき、 setUserData メソッドで登録している値を取得できました。

[9] 更に、値と共に UserDataHandler を登録できました。 これは、節点の操作が発生した際に実行されるコールバック関数でした。

[10] W3C DOM の他の機能同様、動作の概略しか規定されておらず、 詳細な動作の規定は含まれていませんでした。例えば GC との関係や、 UserDataHandler の実行の正確なタイミングなどは一切不明でした。

[11] 元々 JavaScriptオブジェクトには任意の特性を追加可能ですから (expando 参照)、 Web開発者にとってはこのような新機能はほとんど不要で、 (DOM3 の設計に大きな影響を与えた) Java での利用の便宜をはかる目的だったと思われます。

[12] UserDataHandler の機能の一部は、カスタム要素反応として別の形で一部“復活”しています。

歴史

[1] UserDataHandler - Web API Interfaces | MDN ( ( 版)) <https://developer.mozilla.org/en-US/docs/Web/API/UserDataHandler>

[2] 550400 – Fire UserDataHandler for removed nodes ( ( 版)) <https://bugzilla.mozilla.org/show_bug.cgi?id=550400>

[3] 337541 – Fire UserDataHandlers for dying nodes asynchronously ( ( 版)) <https://bugzilla.mozilla.org/show_bug.cgi?id=337541>

[4] 324871 – UserData can cause reference cycles ( ( 版)) <https://bugzilla.mozilla.org/show_bug.cgi?id=324871>

[5] manakai Predefined User Data Names