Иногда, когда я использую объекты внутри usercript и использую расширение TamperMonkey для его запуска, функция chrome's console.log()
кэшируется.
Код, который влияет именно на это. Два console.log(save);
всегда печатают одинаково, хотя воля никогда не будет одинаковой. Однако, если я изменю console.log(save[testID]['lastCheck']);
, он будет печататься иначе.
function parseTestOverview(DOM)
{
console.log(save);
save[testID]['lastCheck'] = Date.now();
var attempts = DOM.getElementsByClassName('answered');
if(attempts.length == 0)
{
save[testID]['attempts'] = undefined;
save[testID]['lastAttempt'] = undefined;
save[testID]['lastAttempts'] = undefined;
save[testID]['updated'] = false;
}
else if(save['lastAttempts'] || save['lastAttempts'] < attempts.length)
{
save[testID]['attempts'] = parseAttempts(attempts);
var dateString = attempts[attempts.length - 1].innerText
var dateTime = dateString.split(' ');
var date = dateTime[0].split('-');
var time = dateTime[1].split(':');
save[testID]['lastAttempt'] = (new Date(date[2], date[1] - 1, date[0], time[0], time[1])).getTime();
save[testID]['lastAttempts'] = attempts.length;
save[testID]['updated'] = false;
}
else
{
save[testID]['updated'] = true;
}
GM_setValue('save', save);
console.log(save);
return attempts;
}
Это не может быть вне контекста, поэтому вот весь сценарий: http://pastebin.com/u1qqCrt2
Это также может не иметь никакого смысла, потому что это скрипт для конкретного сайта.
Я использую 15.0.859.0 канарейку на Mac OS X 10.7.1