J'ai jamais programmé de plugin jQuery, mais quelque chose comme ?
(function ($) {
var cache = {};
$.fn.getCachedJSON = function (url, duration, cb) {
var timestamp = new Date().getTime();
if (url in cache && timestamp - cache[url].timestamp < duration) {
cb(cache[url].data);
}
else {
this.getJSON(url, function (json) {
cache[url] = {
timestamp : timestamp,
data : json
};
cb(json);
});
}
return this;
};
})(jQuery);