|
|
|
let's create a mashup!
|
Hallo liebes Clanhosting-Forum,
heute mal wieder eine kleine Frage, bei der ich selber null Ahnung habe, aber zumindest eine Idee.
Folgender Sachverhalt: wir übertragen auf unserer Homepage live die Spiele unserer 1. Mannschaft ins Internet (und ob man es glaubt oder nicht, es wird sogar zugeschaut!). Das ganze läuft über zaplive.tv und sieht so aus: http://netsh100304.web03.net-server.de/herren-1-bundesliga/zaplive.
Jetzt habe ich mir überlegt, dass man analog zu http://twitter.com/MisterBaseball Livescores posten könnte, Twitter würde sich dafür mE auch anbieten.
Nun will ich das in eine Seite zusammenbringen, also Video + Livescores. Das ist kein Problem, siehe Testversion hier (Aussehen noch aus Tutorial geklaut) http://michael.emphis.net/twittertest/.
Problem ist nun, dass sich die von Twitter abgegriffenen Eingaben automatisch refreshen sollen, weil ansonsten natürlich bei einem normalen F5-Refresh der Seite auch das Video unterbrochen wird. Es soll hierbei auch nicht alle 5 Sekunden sondern sagen wir mal alle 5 Minuten neu abgefragt werden.
Fragestellung ist nun, wie das geschehen soll. Ich denke da an AJAX, hab aber wirklich keine Ahnung, wie ich das anstellen soll.
Dann natürlich noch die Frage nach der Sinnhaftigkeit.
- Natürlich könnten wir das auch über zwei Seiten laufen lassen: unsere Seite (bzw. gleich die zaplive.tv Seite) und Twitter. Aber wir wollen halt den vollen Service!
- Ist mir eine einfachere Lösung, die möglichst wenig Programmieraufwand erfordert (!), nicht aufgefallen oder hat einer von euch schon Erfahrungen und kann diese teilen?
Vielen Dank schon im Voraus für etwaige Ideen
mad_melone
|
|
|
|
|
|
|
Wenn ich das richtig sehe, hast du den Ajax/JSON Part ja schon drin?
Einfach ein window.setInterval(function() { ajax() }, 5*60*1000); rein, fertig...
|
|
|
|
|
|
|
Wo genau?
Sorry, meine "Programmiertage" sind ein bisschen was her
Und als absoluten Overkill: wie müsste denn der Link für einen manuellen Refresh aussehen?
Danke aber schonmal!
|
|
|
|
|
|
|
Also ich hab das jetzt nicht alles genau angeschaut, aber so sollte das Aussehen denke ich:
|
Code: |
$(document).ready(function(){
var timer = window.setInterval(function() {
$.getJSON('http://twitter.com/status/user_timeline/MisterBaseball.json?count=10&callback=?', function(data){
$.each(data, function(index, item){
$('#twitter').append('<div class="tweet"><p>' + item.text.linkify() + '</p><p><strong>' + relative_time(item.created_at) + '</strong></p></div>');
});
}), 5*60*1000);
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);
var r = '';
if (delta < 60) {
r = 'a minute ago';
} else if(delta < 120) {
r = 'couple of minutes ago';
} else if(delta < (45*60)) {
r = (parseInt(delta / 60)).toString() + ' minutes ago';
} else if(delta < (90*60)) {
r = 'an hour ago';
} else if(delta < (24*60*60)) {
r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
} else if(delta < (48*60*60)) {
r = '1 day ago';
} else {
r = (parseInt(delta / 86400)).toString() + ' days ago';
}
return r;
}
String.prototype.linkify = function() {
return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
return m.link(m);
});
};
}); |
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Teufel am 19.04.2009 12:50]
|
|
|
|
|
|
ich hab mir das jetzt auch noch nicht so genau angeschaut, aber schonmal fettes merci von mir!
//edit: der aktualisieren link steht da aber nicht dabei, oder?
//edit2: mhh, jetzt ist irgendwie die einblendung der tweets ganz weg
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Mad_Melone am 19.04.2009 13:04]
|
|
|
|
|
|
|
|
|
Thema: Tweets einbinden und automatisch refreshen ( let's create a mashup! ) |