ホームページ ウェブフロントエンド jsチュートリアル JavaScriptの作成と保存Cookie例_基礎知識

JavaScriptの作成と保存Cookie例_基礎知識

May 16, 2016 pm 05:04 PM

Cookie とは何ですか?
Cookie は、訪問者のコンピュータに保存される変数です。この Cookie は、同じコンピュータがブラウザを通じてページを要求するたびに送信されます。 JavaScript を使用して Cookie 値を作成および取得できます。

Cookie の使用シナリオ:

Cookie に名前を付ける
訪問者が初めてページにアクセスするとき、自分の名前を入力できます。名前は Cookie に保存されます。訪問者がサイトに戻ると、「ようこそ John Doe!」のようなウェルカム メッセージが表示されます。名前は Cookie から取得されます。

パスワード Cookie
訪問者が初めてページにアクセスするとき、パスワードを入力することがあります。パスワードは Cookie に保存することもできます。再度サイトにアクセスすると、Cookie からパスワードが取得されます。

日付 Cookie
訪問者が初めて Web サイトにアクセスしたときに、現在の日付を Cookie に保存できます。再度サイトにアクセスすると、「前回の訪問は 2005 年 8 月 11 日火曜日でした!」というようなメッセージが表示されます。日付も Cookie から取得されます。

Cookie の作成と保存

この例では、訪問者の名前を保存する Cookie を作成します。訪問者が初めてサイトを訪問するとき、名前を入力するように求められます。名前は Cookie に保存されます。訪問者が Web サイトに戻ると、ウェルカム メッセージが表示されます。

まず、訪問者の名前を Cookie 変数に保存する関数を作成します。

Cookie の作成は、実際には文字列を綴ることになります:

"username=amosli;expires=Mon, 16 Dec 2013 16:20:04 GMT"
次に、document.cookie= 上記の文字列。

コードをコピー コードは次のとおりです。

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()expiredays)
document.cookie=c_name "="escape(value)
((expiredays= =null) ? "" : ";expires=" exdate.toGMTString())
}

上記の関数のパラメータには、Cookie の名前、値、有効期限が保存されます。

上記の関数では、まず日数を有効な日付に変換し、次に Cookie の名前、値、およびその有効期限を document.cookie オブジェクトに保存します。

その後、Cookie が設定されているかどうかを確認する別の関数を作成します。

getCookie() の中心となるのは document.cookie という 1 つの文だけで、残りは文字列の処理です。

コードをコピー コードは次のとおりです。

function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name "=")
/*
Cookie は文字列のセットです: "username =amosli; __utmc=1 19627022; __utmz=119627022.1387208465.2.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(提供されていません)"
*/
if (c_start!=-1) ){
c_start=c_start c_name.length 1
c_end=document.cookie.indexOf(";",c_start)
if (c_end= =-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}

上記の関数は、最初に document.cookie オブジェクトに Cookie があるかどうかを確認します。 document.cookie オブジェクトが特定の Cookie を保存している場合、指定した Cookie が保存されているかどうかを引き続き確認します。必要な Cookie が見つかった場合は値が返され、それ以外の場合は空の文字列が返されます。

最後に、関数を作成する必要があります。この関数の機能は次のとおりです。Cookie が設定されている場合はウェルカム メッセージを表示し、そうでない場合はユーザーに名前の入力を求めるプロンプト ボックスを表示します。

コードをコピー コードは次のとおりです。

function checkCookie()
{
username =getCookie('username')
if (username!=null && username!="")
{alert('またようこそ ' username '!')}
else
{
username=prompt('名前を入力してください:',"")
if (username!=null && username!="")
{
setCookie('username',username,365 )
}
}
}

これがコードのすべてです:

コードをコピー コードは次のとおりです:

<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if (document .cookie.length>0)
{
c_start=document.cookie.indexOf(c_name "=")
if (c_start!=-1)
{
c_start=c_start c_name.長さ 1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start) ,c_end))
}
}
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()expiredays)
document.cookie=c_name "= " エスケープ(値)
((expiredays==null) ? "" : ";expires=" exdate.toGMTString())
}

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('またようこそ ' username ' !')}
else
{
username=prompt('名前を入力してください:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}
</script>
</head>

<body onLoad="checkCookie()">
</body>
</html>

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

例JSONファイルの例 例JSONファイルの例 Mar 03, 2025 am 12:35 AM

例JSONファイルの例

10 jQuery構文蛍光物 10 jQuery構文蛍光物 Mar 02, 2025 am 12:32 AM

10 jQuery構文蛍光物

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

8見事なjQueryページレイアウトプラグイン

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

独自のAjax Webアプリケーションを構築します

&#x27; this&#x27; JavaScriptで? &#x27; this&#x27; JavaScriptで? Mar 04, 2025 am 01:15 AM

&#x27; this&#x27; JavaScriptで?

10 JavaScript&JQuery MVCチュートリアル 10 JavaScript&JQuery MVCチュートリアル Mar 02, 2025 am 01:16 AM

10 JavaScript&JQuery MVCチュートリアル

See all articles