私のウェブサイトは5ページあります。ユーザーがハイパーリンクをクリックしてルックアンドフィールを変更できるようにしたいと思います。また、変更したスタイルをCookieに保存してほしい。そのため、ホームページからスタイルシートを変更すると、残りの4ページも変更されます。問題は、5ページ目からスタイルシートを変更すると、5ページ目のスタイルシートのみが変更され、残りはそれらのページに移動しても変更されないことです。同様に、4ページ目のスタイルシートを変更しましたが、この特定のページのスタイルシートのみが変更されました。
以下はjavascriptコードです:
var styleNo = parseInt(document.cookie.charAt(6));
var styleFile;
if( isNaN(styleNo) ) // style not selected by user initially, usually not a number at char 6
styleFile = "/nmc/css/style" + 0 + ".css";
else {
styleFile = "/nmc/css/style" + styleNo + ".css";
}
document.writeln('<link rel="stylesheet" type="text/css" href="' + styleFile + '">');
function changeStyle( styleNo ){
var CookieDate = new Date;
CookieDate.setFullYear(CookieDate.getFullYear( ) +10);
document.cookie = "style=" + styleNo + "; expires=" + CookieDate.toGMTString() + ";";
window.location.reload();
}
以下は、ハイパーリンクがクリックされたときのコーディングです。
<div id="styleSelection">
<a href="#" onclick="changeStyle(0)">Style 1</a>
<a href="#" onclick="changeStyle(1)">Style 2</a>
</div>
この問題を解決するためのヒントはありますか?ありがとう!