J'ai ce widget Twitter qui fonctionne très bien (et est facilement personnalisable), mais j'ai un problème avec elle. Je veux seulement poster des tweets de moins de deux jours, mais je ne sais pas comment faire. Ainsi, dans le code HTML, je donne les résultats suivants:Twitter Widget - Post seulement tweets moins de deux jours
<ul id="twitter_update_list"></ul>
<script src="/assets/script_twitterwidget.js" type="text/javascript"></script>
<script src="http://twitter.com/statuses/user_timeline/YourTwitterProfile.json?callback=twitterCallback2&count=1" type="text/javascript"></script>
Puis les js a:
function relative_time(time_value) {
var values = time_value.split(" ");
time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
var parsed_date = Date.parse(time_value);
var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
var delta = parseInt((relative_to.getTime() - parsed_date)/1000);
delta = delta + (relative_to.getTimezoneOffset() * 60);
return delta;
}
function absolute_time(created_at) {
var date = (created_at).substring(0,11);
var year = (created_at).substring(26);
var time = (created_at).substring(10,26);
var full = date + year + time;
var full = new Date(Date.parse(full)).toLocaleDateString();
return full;
}
if (delta < (48*60*60)) {
function twitterCallback2(twitters) {
var statusHTML = [];
for (var i=0; i<twitters.length; i++){
var username = twitters[i].user.screen_name;
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
return '<a href="'+url+'">'+url+'</a>';
}).replace(/\[email protected]([_a-z0-9]+)/ig, function(reply) {
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
});
statusHTML.push('<li><a target="_blank" style="font-size:100%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+absolute_time(twitters[i].created_at)+':'+'</a>'+' '+'<span>'+status+'</span></li>');
}
document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}
}
J'ai ajouté la fonction temporelle relative et l'instruction if pour essayer d'afficher uniquement les derniers tweets (il fonctionne très bien sans ce code mais montre quel que soit le dernier tweet, quel que soit son âge). Cependant, cela ne fait pas l'affaire. Merci pour l'aide.