スクリプトがあります
<script>
var pn=0;
function set()
{
pn=parseInt(pn)+1;
}
</script>
の最初の実行後、は1set
にpn
なります。
ページがリロードされた後、pn
その値を保持1
し、次回の実行時set
ににインクリメントされ2
ます。
ページのリロード間でグローバル変数を保持するにはどうすればよいですか?
スクリプトがあります
<script>
var pn=0;
function set()
{
pn=parseInt(pn)+1;
}
</script>
の最初の実行後、は1set
にpn
なります。
ページがリロードされた後、pn
その値を保持1
し、次回の実行時set
ににインクリメントされ2
ます。
ページのリロード間でグローバル変数を保持するにはどうすればよいですか?
jquery cookieを介して pn の値を Cookie に保存できます。クッキーを設定:
$.cookie("pn", pn);
Cookie から値を取得します。
$.cookie("pn");
要するに、あなたはできません。ページのリロード時にクライアント側の変数を永続化する方法はありません。
どちらかを使用することをお勧めします
jQuery cookieプラグイン(cookies)
または、ブラウザがHTML5をサポートしている場合:
HTML5 Webストレージ(ローカル/セッションストレージ)
Cookie を使用する必要があります。これを実現する方法の例を次に示します。
var pn = 0;
function increment() {
pn = parseInt(pn, 10) + 1;
setCookie('pn', pn, 200);
console.log(pn);
}
function setCookie(c_name,value,exdays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++) {
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name) {
return unescape(y);
}
}
}
(function () {
pn = getCookie('pn') || 0;
}());
以下に例を示します: http://jsbin.com/ucitul/3
値をCookie、クエリ文字列、またはハッシュフラグメントに保存し、ページの読み込み時に値を取得する必要があります。
jquerycookieプラグインを使用することをお勧めします。それはかなり単純で、あなたの問題を解決します