JavaScriptとダイナミックページは、Cookieが期限切れになる時間を取得できません。有効期限はブラウザによって管理されます。 JavaScriptおよび動的ページは有効期限を設定することができ、document.cookie(javascript)またはcookie.expires(asp.net)属性を使用して取得することはできません。
コードコピーは次のとおりです。
<%@ページ言語= "c#" debug = "true"%>
<スクリプトrunat = "server">
保護されたvoid page_load(オブジェクト送信者、eventargs e)
{
httpcookie hc = request.cookies ["abc"];
if(hc!= null)
{
Response.write(hc.expires); // 0001-1-1 0:00:00
Response.End();
}
}
</script>
ASP.NETのCookieには有効期限がありますが、Response.Write Gets 0001-1-1 0:00:00(datetime.minvalue)の有効期限があります。これは、ブラウザがCookieの有効期限をサーバーに送信しないため、DateTime.MinValueを使用してCookieの有効期限を埋めます。
有効期限を取得する必要があり、別のCookie値を介して対応するCookieの有効期限を記録する必要があります。次のように:
コードコピーは次のとおりです。
<スクリプト>
var d = new date();
d.sethours(d.gethours() + 1); // 1時間の有効期限が切れます
document.cookie = 'testValue = 123; expires =' + d.togmtstring(); //ストレージクッキー値
document.cookie = 'testexp =' + escape(d.tolocalestring()) + '; expires =' + d.togmtstring(); // Cookieの有効期限を保存します。 TestValue Cookieの有効期限を取得するには、TestExp Cookieを取得することで達成できます
</script>