JavaScript Content Zeitversetzt laden

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
561
Hallo zusammen,

ich habe eine etwas (für mich zumindest) komplexe Frage.

Ich habe ein PHP Application die mir ein Dashboard anzeigt, Status zu diversen anderen Webservern.
Dieses Dashboard soll sich nun Selbstständig aktualisieren.
Innerhalb des Dashboards gibt es verschiedene "divs" die verschiedene Inhalte anzeigen.

Der Content wird von PHP generiert und soll in den "divs" ausgetauscht werden.

Dazu greife ich auf JavaScript/jQuery zurück.

Um das möglichst selbe Script zu nutzen, habe ich das über PHP Variabeln generieren lassen:

Code:
<script defer src="." id="updateData" data-link="/REST/update/' . $application . ' " data-name="' . $id . '"></script>

Das jQuery Script sieht so aus:

Code:
window.addEventListener("DOMContentLoaded", function () {
    (function ($) {
        $(document).ready(function () {
            if (document.getElementById("updateData")) {
                var script1Link = document.getElementById("updateData").getAttribute("data-link");
                var script1Name = document.getElementById("updateData").getAttribute("data-name");
                setInterval(function () {
                    $.get(script1Link, function (result) {
                        $("#" + script1Name).html(result);
                    });
                }, 10000);
            }
        });
    })(jQuery);
})

Mein Problem ist nun:
beim betreten der Seite wird der Content unter /REST/update/ sofort geladen.
Und dann nach 10 Sekunden noch mal und noch mal ...

Wie kann ich verhindern das der Content beim betreten geladen wird, sondern erst Nach den 10 Sekunden?
 
Das jQuery Script ist übrigens irgendwie kein richtiges jQuery, sondern ein wilder Mix aus Javascript mit einem Bruchteil jQuery.

In jQuery sähe der Schnipsel eher so aus:

Code:
$(function() {
    var up = $('#updateData');
    if (up) {
        setInterval(function () {
            $.get(up.data('link'), function (result) {
                $("#" + up.data('name')).html(result);
            });
        }, 10000);
    }
});

Aber wer gerne viel tippt kann das natürlich auch in reinem Javascript machen :D
Nur wozu sollte man dann das jQuery Framework überhaupt laden ;)
 
Zurück
Oben