jQuery .data()
とブラウザのCookieの両方が、後で使用するために同じジョブを保存するように見えます。どちらか一方を使用する利点はありますか? .data()
はすばやく簡単です。jquery data()vs cookies
0
A
答えて
8
jQuery.data()とクッキーがかなり異なっている:
- クッキーは、要求間で生き残る、jQuery.dataは()のみ缶)(それは
- jQuery.dataで発行されています文書の寿命を持っています任意のオブジェクトを格納することができますが、テキストとしてシリアライズ可能なオブジェクトはクッキーにテキストとして保存することしかできません(たとえば、DOM要素をクッキーに直接格納することはできません)。
- jQuery.data()ドメイン、またはドメインのサブパスに接続されています。
一般に、jQuery.data()は、jQueryコードのさまざまな部分で使用されるデータを格納するために使用されます(例:キャッシュされた値など)、およびクッキーは、永続的なユーザ情報(たとえば、セッション情報)を格納するために使用されます。
2
データは要求間で永続的ではありません。だから、.data()
で何かを保存し、ユーザーがリンクをクリックすると、保存されたデータはもう失われます(クッキーとは異なり、永続します)。
1
.data()
は - 既にJakubが言っているように - クッキーが要求されている間は永続的ではありません(あなたは期限切れにすることさえできます)。
しかし、別の大きな違いがあります:.data()
は要素に設定されており、クッキーはドキュメント全体の単純なキー=>値マッピングであり、要素(またはそれを含むjQueryオブジェクト)を持たないと簡単には検索できません。
ああ、複雑なデータ(配列、オブジェクト)を何らかの形でシリアライズせずにクッキーに保存することはできません(JSONはその仕事を行います)。
関連する問題
- 1. Session.gc_maxlifetime VS Cookies
- 2. Hadoop Vs Data Lake
- 3. Core-data vs SQLite
- 4. Spring Data Elasticsearch id vs. _id
- 5. カスタム属性vs data- *属性
- 6. NSOperation VS GCD for Core-Data
- 7. Swift - urlsession cookies
- 8. カウントダウン(Cookies)
- 9. Vista&Cookies
- 10. jquery accessible data-attrs
- 11. jQueryクローンテーブル行(DATA)
- 12. jquery mobile data-icon
- 13. jQuery loop get data
- 14. Coffeescript jQuery set data()
- 15. Jquery data returned undefined
- 16. Sharedpreferences Vs SQLite with search without large data
- 17. MongoDbホットバックアップ - data/db VSレプリカセットをfsyncLockでコピー
- 18. jQuery "keyup" vs "keydown" vs "keypress"
- 19. AFNetworking and Cookies
- 20. Django clear COOKIES sessionid
- 21. Firebase JS Authenticstion cookies
- 22. Jest secure cookies?
- 23. Angular with cookies
- 24. クラウドエンドポイントHTTP Cookies
- 25. HttpsURLConnection and Cookies
- 26. Rails capybara cookies issue
- 27. Cookies Scrapy C#
- 28. selenium java add cookies
- 29. Apache、mod_cache、Cookies
- 30. jquery datatable data-order alternative
よく説明されています。ありがとう – Hussein
したがって、グローバル変数を使用するのと比較して、data()を使用する利点は何ですか? – Hussein
異なる名前のソースからjavascriptを混在させても、グローバル名前空間を汚染せず、競合を避けることができます。プラグインを作成するときにも、jQuery.data()の名前空間を指定する必要があります。詳しくは、[これらのガイドライン](http://docs.jquery.com/Plugins/Authoring#Data)を参照してください。 –