birlikte tarih depolayabilir. Örneğin, zaman damgasını sakladığınız her bir değerin yanında bir localStorage yuvasında depolayabilir ve ardından, sayfa yükü veya setTimeout veya bir şey gibi belirli aralıklarla geçerli zamana karşı zaman damgasını kontrol edebilirsiniz.
Örnek:
//this function sets the value, and marks the timestamp
function setNewVal(prop)
{
window.localStorage[prop] = Math.random();
window.localStorage[prop+"timestamp"] = new Date();
}
//this function checks to see which ones need refreshing
function someRucurringFunction()
{
//check each property in localStorage
for (var prop in window.localStorage)
{ //if the property name contains the string "timestamp"
if (prop.indexOf("timestamp") != -1)
{ //get date objects
var timestamp = new Date(window.localStorage[prop]);
var currentTime = new Date();
//currently set to 30 days, 12 hours, 1 min, 1s (don't set to 0!)
var maxAge = (1000 * 1) *//s
(60 * 1) *//m
(60 * 12) *//h
(24 * 30); //d
if ((currentTime - timestamp) > maxAge)
{//if the property is too old (yes, this really does work!)
//get the string of the real property (this prop - "timestamp")
var propString = prop.replace("timestamp","");
//send it to some function that sets a new value
setNewVal(propString);
}
}
}
}
//set the loop
window.setInterval(someRucurringFunction,(1000*60*60);
DÜZENLEME: mrtsherman yöntemi tamamen de çalışacak. Benzer şekilde, zaman damgasını JSON.stringify/parse() ile sakladığınız/aldığınız bir nesnenin bir özelliği olarak girebilirsiniz. Dizi ya da nesne çok büyükse ya da bunlardan çok fazlasına sahipseniz, büyük olasılıkla verim için paralel özellik yöntemini kullanmanızı öneririm.
Ne var ki ben onu [1] onun karşılaştırıldığında önce tarihi nesnesine ayrıştırılması gerekiyor değerleri bu özel örneğin unutulmamalıdır düşünüyorum bu çözümü gibi. Bu yeni tarihi beğenin (değerler [1]) – labago