3 つの Cookie を読み取ってその値を出力しようとしていますが、何らかの理由でページが無期限にロードされ続け、Cookie は印刷されますが、ページはロードされ続けます。私はJavaScriptに精通していないので、なぜこれが起こっているのかわかりません。以下にコードを投稿していますが、それが役立つかもしれません。ちなみに、3 つの Cookie はすべてそこにあり、適切な値を持っています。値を正しく読み取ることができる php スクリプトを使用して確認しました。
<html>
<head>
<script>
var userRPM = true;
var userRWebcam = false;
var userEntryExitSFX = true;
var userNewMessageSFX = true;
var userSFX = true;
/*
* read cookie
*
*/
function readCookie(name)
{
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++)
{
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
/*
* get cookie
*
*/
var gotCookie1 = readCookie('myTextStyle');
var gotCookie2 = readCookie('myOptions');
function getCookie()
{
if(gotCookie1)
{
gotCookie = decodeURI(gotCookie1).split("|");
mBold = gotCookie[0];
mItalic = gotCookie[1];
mUnderline = gotCookie[2];
textColor = gotCookie[3];
textSize = gotCookie[4];
textFamily = gotCookie[5];
}
if(gotCookie2)
{
gotCookie = decodeURI(gotCookie2).split("|");
userRPM = gotCookie[0];
userRWebcam = gotCookie[1];
userEntryExitSFX = gotCookie[2];
userNewMessageSFX = gotCookie[3];
userSFX = gotCookie[4];
}
document.write('<p>colour: ' + textColor + '<br>textFamily: ' + textFamily + '<br>textSize: ' + textSize + '</p>');
}
</script>
</head>
<body>
<button onclick="getCookie()">Print cookies</button>
</body>
</html>