2011-01-24 6 views
4

1つのクッキーに複数の有効期限オプションを設定する方法があるのだろうかと思いました。たとえば、ユーザーがブラウザを閉じると30分後にCookieの有効期限が切れます。1つのクッキーに複数の期限オプションがありますか? (javascript)

これは可能ですか?

YAHOO.util.Cookie.setSubs( "のCookieName"、cookieData、{満了した:0、有効期限:時間() - 1800パス "/"、ドメイン: "cbc.caを"})。 RFCから

答えて

3

属性が一度 クッキーでより多く表示された場合、動作は未定義です。

クッキーを期限切れに設定する方法はありません。少なくとも、それを行うためのブラウザ間の方法はありません。 (また、適切な属性が "Max-Age"で、 "expires"ではなく、YUI APIの一部であるかもしれません)。

時間の経過後のセッションの終了は一般的には何かですセキュリティ保護されたサーバーサイドのコードはそれ自身で、そして明示的に行います。つまり、タイムスタンプが過度の年齢を示す場合、セッションクッキーは無効として明示的に拒否されます。

+0

正しいプロパティは「有効期限」で、Max-Ageではありません。 –

+0

[RFC 2109](http://www.ietf.org/rfc/rfc2109.txt)による@ say2joeは、 "Max-Age"です。 NetscapeはRFCの前に "Expires"をサポートしていましたが、それは1997年以前でした:-) – Pointy

+0

これはHTTPヘッダの説明です...クッキーを設定するJavaScript文字列ではありません。サーバー側のHTTPヘッダーレスポンスを使用してCookieを操作している場合、RFCの説明は正しいはずです。この質問は、サーバーサイドコードではなくJavaScriptに関連しています。 –

2

cookieにonloadイベントを設定できますが、2つの有効期限を設定することはできません。ページがアンロードされた時刻を取得し、Cookieを+ 30分間設定することができます。しかし、あなたはブラウザが閉じたときにクッキーが設定されているので、それを行うにはプラグインが必要ですが、ページが閉じられると、それができます。

関連する問題