Предполагая, что желаемое значение куки-файла было названо "pipes"
, а ваша переменная называлась globalVar
, вы можете сделать что-то вроде этого:
var val = readCookie("pipes") || "";
var valArray = val.split("|");
if (valArray.length >= 4) {
if (globalVar == "Y") {
valArray[2] = 'c';
valArray[3] = 'd';
} else if (globalVar == null) {
valArray[0] = 'a';
valArray[1] = 'b';
}
val = valArray.join("|");
} else {
// fully formed cookie value didn't exist
if (globalVar == "Y") {
val = "0|0|c|d";
} else {
val = "a|b|0|0";
}
}
createCookie("pipes", val, 365);
Я должен сказать, что сохранение этого значения в файлеочень неудобно и требует больше кода, чем, вероятно, требуется, чтобы просто сохранить и извлечь несколько значений из cookie.
Из ваших комментариев кажется, что данные являются storeID | storeLocation, и у вас есть два из них.Я бы посоветовал вам просто сделать это:
var store1 = readCookie("store1"); // "1640|Jacob's Point"
var store2 = readCookie("store2"); // "2001|Fred's Point"
Или, если вы хотите создать функцию, вы можете сделать это:
function readStoreInfo(item) {
var info = readCookie(item);
if (info) {
var data = info.split("|");
return({id: data[0], name: data[1]});
}
return(null);
}
function writeStoreInfo(item, obj) {
var val = obj.id + "|" + obj.name;
createCookie(item, val, 365);
}
Итак, чтобы прочитать данные для store1, вы просто позвоните:
var store1Info = readStoreInfo("store1");
store1Info.id = 123;
writeStoreInfo("store1", store1Info);
Затем вы можете читать и записывать данные для store1 и store2 независимо.