(クライアント側) Cookie (javascript) を使用して、ユーザーが選択したキーと値のペアをセッション間およびページ間で保存しています。Chrome、Safari、および Firefox は、キーが 1 つの値しか持てないことを理解しているようですが、IE は別の見方をしています。例: ユーザーが選択できる 4 つの値 (-2、-1、0、または 1) のいずれかを取ることができる機能 (「viewMode」) があります。 .
function setCookie(c_name, value, expireDays) {
expireDays *= 1;
var expireDate = new Date();
expireDate.setDate(expireDate.getDate() + expireDays);
var c_value = escape(value) + ((expireDays == null) ? "" : "; expires=" + expireDate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
デフォルト値は 0 です。ユーザーが値 (1 など) を選択すると、呼び出しが生成されます。
setCookie("viewMode", 1, 100);
IE は両方の値を保存しますが、他のものはキーが上書きされたという概念を理解しています。次にロードするための HTTP GET の Cookie コンポーネントは次のとおりです。
Cookie: dispText=FileName; viewMode=0; MultiTrack=0; showClouds=0; smokeTrailLength=256; IGCAltSource=0; HideTracks=0; ColorSpeed=1; showCompass=0; viewMode=1; chosenDirectoryPath=C%3A%5CAlan%5CSTarTraXdata%5CTestTracks; IGCAltSource=1; showCockpitInstruments=0; showJavaOPenPopup=0; dispText=None; smokeTrailLength=-1; PHPSESSID=d96b0827725b1e6e313dcdfddfaed0a0
ご覧のとおり、Cookie「viewMode」は 2 回表示されます。1 回は viewMode=0 として、もう 1 回は viewMode = 1 として表示されます。つまり、Cookie は実際にはキーと値のペアであり、IE はそれを間違っていますか? Cookie がキー/値/日付の 3 つ組であることを示唆する投稿を見たことがありますが、それは他の場所ではサポートされていないようで、W3C doco で仕様を見つけることができません。