jQueryはブラウザにCookieを読み書きできますか?


99

簡単な例:ページにいくつかの項目(divやテーブルの行など)を置き、ユーザーがそれらをクリックして選択できるようにしたいとします。jQueryではそれは十分簡単に​​思えます。ユーザーがクリックしたアイテムをサーバー側のポストバックなしで保存するために、私はCookieがこれを行う簡単な方法になると考えていました。

  1. この場合、クッキーは大丈夫だというこの仮定は正しいですか?
  2. 正しい場合、jQuery APIには、デフォルトのJavaScript APIよりも優れたCookie情報を読み書きする方法がありますか?

回答:


52

Cookieを設定するためのデフォルトのJavaScript「API」は、次のように簡単です。

document.cookie = 'mycookie=valueOfCookie;expires=DateHere;path=/'

次のようなjQuery cookieプラグインを使用します。

$.cookie('mycookie', 'valueOfCookie')

14
ええ、クッキーを書くのは簡単ですが、文字列やものを分割しなければならないので、それらを読むのはちょっと面倒です。すでにJQueryを使用している場合は、Cookieプラグインがいいかもしれません……Cookieの読み取りに関する厄介なことは、一部のブラウザーが最後のセミコロンを削除し、一部のブラウザーは削除しないということです...すべてのこと。
Peter Ajtai

8
ああ、そしてJQuery cookieプラグインはJSの40行だけです...そしてあなたはそれをあなたの欲望に合わせて編集できるので、抽象化の危険ゾーンに入っているように感じることはありません。
Peter Ajtai

3
質問通り、jQueryとは関係ありません。Peter Ajtaiのコメントは、casademoraがJavascriptではなくjQueryプラグインを要求する理由を示しています。
CallMeLaNN 2010

4
デッドリンクや誤動作しているplugins.jquery.comサイトに到達する人々のための最新のリンクは次のとおりです:github.com/carhartl/jquery-cookie
Wiebe Tijsma

18

cookieプラグインが必要です。これは、cookie関数にいくつかの追加の署名を提供します。

$.cookie('cookie_name', 'cookie_value')一時的なCookieを保存します(このセッションのスコープ内にのみ存在し、セッション間で$.cookie('cookie_name', 'cookie_value', 'cookie_expiration")継続するCookie を作成します-詳細については、http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/を参照してください) JQuery Cookieプラグイン。

サイト全体で使用されるCookieを設定する場合は、次のようにJavaScriptを使用する必要があります。

document.cookie = "name=value; expires=date; domain=domain; path=path; secure"

1
このリンクの執筆時点でこのリンクは
無効

11

フォームのバインディングなどによるCookieの取得と操作のための新しいjQueryプラグイン:http : //plugins.jquery.com/project/cookies


3
リンクをすぐに読む人は、Cookieの最後にある「s」に注意して、これをAlex Fortによるものとは異なる答えにしてください
Patrick


1
Giver Of Cookiesによってリンクされたものと同じプラグインではない@Zidad。彼がリンクしたものは現在code.google.com/p/cookiesにあります
JAAulde

@JAAuldeああ、気づかなかった。リンクが死んでいたので:)ありがとう!
Wiebe Tijsma

7

あなたの質問に答えるために、はい。他の人はその部分に答えましたが、それがそれを行うための最良の方法であるかどうかを尋ねているようにも見えます。

それはおそらくあなたが何をしているのかに依存するでしょう。通常、ユーザーは購入したいアイテム(注文など)をクリックする必要があります。次に、購入またはチェックアウトボタンを押します。次に、フォームはページに送信し、結果を処理します。あなたはクッキーでそれをすべて行うことができますが、私はそれがより難しいと思います。

2番目の質問を別のトピックに投稿することを検討してください。



4

「cookie」でタグ付けされたすべてのjQueryプラグインをここで閲覧できます。

http://plugins.jquery.com/plugin-tags/cookies

そこにはたくさんのオプションがあります。

HTML5のlocalStorageを利用するjQuery Storageをチェックしてください。localStorageが利用できない場合、デフォルトでcookieになります。ただし、有効期限を設定することはできません。


4

jQuery cookieプラグインはダウンロードできないようです。ただし、同じjQuery Cookieプラグインをダウンロードできます。jQueryとCookie(get / set / deleteとプラグイン)で説明されているいくつかの改善点があります


また、Cookieプラグインの開発は最初のリリース以来そこで停止しており、jQuery 1.4 *と互換性があるかどうかは
わかり

プラグインはjQuery 1.4と互換性があります。拡張構文はそれ以降変更されていないためです...
jQuery Lover

2

Klaus Hartlの cookieスクリプトを使用して、ユーザーが自分の言語を選択できるスクリプトをなんとか書きました。それは私に数時間の作業を要しました、そして私が他の人を助けることができることを望みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.