1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Widget nach X Sekunde neu laden...

Dieses Thema im Forum "Widgets" wurde erstellt von MrNase, 03.08.06.

  1. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Huhu!

    Ich baue mir grad ein Widget mit 'Widgetarium'.

    Ich kenne mich mit JS und CSS aus aber in den Widgets scheint es alles ein bissl anders zu funktionieren. :(

    Ich habe eine Datei in meinem Forum welches beim Aufruf ein Array generiert. Diese Datei binde ich im Widget ein und nutze eine Funktion um den Inhalt des Arrays in einen Layer zu schreiben.

    Dies funktioniert ohne Probleme.. Wenn ich das Widget neu installiere dann lädt er alle aktuellen Theman und zeigt diese an.

    Nun möchte ich aber, dass er auch im Hintergrund alle X Sekunden das Array neu in diesen Layer schreibt damit ich immer die aktuellsten Themen sehen kann.


    Ich habe nun schon sooo viele Möglichkeiten durch.. Es müsste funktionieren, das tut es aber nicht. Den Reload versuche ich wie folgt:

    Code:
    timeout=setTimeout("showData()",20);
    
    showData() ist eine Funktion:
    Code:
    function showData() {
    var data = '';
                for (var i = 0; i < threads.length; i++)
                {
                                data = '<li><a href="http://localhost/showthread.php?t=' + threads[i]['threadid'] + '">' + threads[i]['title'] + '</a> <em>' + threads[i]['threaddate'] + ' - ' + threads[i]['threadtime'] + ' von ' + threads[i]['poster'] + '</em></li>' + data;
                }
                document.getElementById('liste').innerHTML = data;
                }
    
    Wie gesagt, die Funktion funktioniert.. Wenn ich das Widget das erste mal lade dann wird auch alles korrekt angezeigt.


    Wie verklickere ich nun diesem Teil, dass ich die Anzeige gerne alle X Sekunden aktualisiert haben möchte?

    ***************

    So, ich habe zumindest den Denkfehler gefunden :D

    Da das Widget nicht neu lädt, lädt er auch nie die neue Datei mit dem neuen Array ein.. Das heisst dann aber, dass er nie die neuen Daten erhalten wird.. Naja gut, muss ich es mit Ajax machen. :(
     
  2. FirePot

    FirePot Gast

    Ich habe auch schon einige Widgets gestrickt... am einfachsten ist du machst es so: im body tag fügst du "onLoad='setup();'" ein. dann machst du eine funktion setup:

    function setup () {
    //Setup dinge, die zu regeln sind...
    update();
    }


    funtion update () {
    //Daten update
    setTimeout("update()", 1000);
    }

    Anstelle von 1000 setz einfach deine Zahl ein. Hoffe das hilft dir!

    Nelson
     
  3. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Danke, sehr guter Tipp! Ich habe es nun komplizierter gemacht. :D

    Das Apfeltalk-Widget macht es vor.. Alle <15 Minuten einen Reload machen ist eh schwachsinnig.. Belastet meinen Server und so fix sind meine Mitglieder nicht. ;)
     
  4. FirePot

    FirePot Gast

    ok, freu mich dir geholfen zu haben ;). poste dein widget mal, wenn es fertig ist ;)
     

Diese Seite empfehlen