tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
402
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jayplaya1 jayplaya1 ist offline Mitglied Bronze
    Registriert seit
    Sep 2011
    Beiträge
    45
    Hey Leute, mal ne Frage.
    Mit Jquery aktualisiere ich ein PHP Script jede Sekunde.
    Das läuft soweit auch wunderbar, nur hab ich ein Problem damit.
    Wenn ich die Datei Ohne Jquery direkt per include einbinde sind die Werte sofort da,
    aber lade ich die Daten mit Jquery, werden sie erst nach einer Sekunde, bzw meine Definierte Zeit angezeigt.
    Das nervt ein wenig da, bei aktualisierung der Seite, erstmal immer wieder eine Sekunde vergeht, bis die Daten angezeigt werden.
    Das PHP Script zeigt mir praktisch an ob ich neue Post bekommen habe. Und wenn man auf der Seite Navigiert und erst immer wieder eine Sekunde vergeht nervt das. Ich hoffe mal man kann das irgendwie mit Jquery so machen das er das Script sofort ladet und dann jede Sekunde überprüft.
    Hier der Jquery Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <script type="text/javascript">
            $(document).ready(function() {
                
        setInterval(function() {
                    $('#bnc').load('bnc.php')
                },1000);
            });
            
     </script>

    Beste Grüße
     

  2. #2
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Wo liegt das Problem die Datei per include einzubinden und gleichzeitig das Skript, um die Werte nach ener Sekunde neu zu laden?

    Oder optional (und schlechter) ruf die load Funktion sofort auf:

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    
    $(document).ready(function() {
        setInterval(function() {
            $('#bnc').load('bnc.php')
        },1000);
     
        $('#bnc').load('bnc.php');
    });

    Aber das ist definitiv keine gute Idee, jede Sekunde neu zu laden.
     

  3. #3
    jayplaya1 jayplaya1 ist offline Mitglied Bronze
    Registriert seit
    Sep 2011
    Beiträge
    45
    Wie funktioniert denn deine erste Möglichkeit?Ist vielleicht ne doofe Frage, aber ich hab keine Ahnung!
    die Jqeury Version wird ja durch ein div aufgerufen. aber das Include halt durch ein Include
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <a href=".>Nachrichten</a>
     
    //hier wirds per include aufgerufen ohne aktualisierung
    <?php include $_SERVER['DOCUMENT_ROOT'].("bnc.php");?>
     
    <a href=".">Nachrichten</a>
     
    //hier wirds per jquery aufgerufen, aber mit verzögerung
    <div id="bnc" ></div>

    Also wie schaff ichs die Datei zu includieren und dann alle 5-10 sec zu aktualisieren****
    Was wär denn ein guter Zeitbereich für eine Aktualisierung?
     

  4. #4
    jayplaya1 jayplaya1 ist offline Mitglied Bronze
    Registriert seit
    Sep 2011
    Beiträge
    45
    Ok, bin soebend allein darauf gekommen Danke dir für dein "auf die sprünge helfen"
    aber noch eine Frage habe ich. Was ist eine gescheite Reloadzeit?


    edit
    hmmm, scheint doch noch nicht zu funktionieren!! also wie würdest du das machen?

    edit#2
    doch geht jetzt, aber ist das so der richtige weg?
    PHP-Code:
    <?php 
        
    echo'<div id="ibc" >';
            include 
    $_SERVER['DOCUMENT_ROOT'].("ibc.php");
        echo
    '</div>';
    ?>
    Geändert von jayplaya1 (21.12.11 um 22:05 Uhr)
     

  5. #5
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Was ich damit gemeint hab war einfach:

    PHP-Code:
    <div id="bnc" ><?php include('bnc.php'?></div>
    Und dein Skript würde dann unverändert bleiben und den Inhalt sekündlich neu laden.


    Ich weiß ja nicht, was genau du da vor hast, aber es ist immer eine schlechte Idee ständig beim Server nach neuen Daten zu fragen. Was eine "gescheite" Realodzeit ist, hängt natürlich davon ab, wie oft sich die Daten ändern und wie schnell man Sie dann sehen soll. Und auch davon, wie viele Leute ständig nach neuen Werten fragen.


    Zumindest solltest du den Code so ändern, dass die eine Sekunde erst zählt, nach dem vom Server die Antwort kommt. Sollte der Server nämlich mal etwas länger brauchen, sendest du trotzdem ständig weiter Anfragen.

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    $(document).ready(function() {
        function load_bnc() {
            $('#bnc').load('bnc.php', function() {
                setTimeout(function() {
                    load_bnc();
                }, 1000);
            });
        }
     
        load_bnc();
    });
     

  6. #6
    jayplaya1 jayplaya1 ist offline Mitglied Bronze
    Registriert seit
    Sep 2011
    Beiträge
    45
    Okey, ich danke dir auf jeden Fall vielmals!
     

Ähnliche Themen

  1. XPath SuchQuery - Alle Element inkl. Root
    Von unrealzero_php im Forum XML Technologien
    Antworten: 3
    Letzter Beitrag: 27.04.10, 16:43
  2. swf in container laden inkl. back-button
    Von od777 im Forum Flash Plattform
    Antworten: 6
    Letzter Beitrag: 05.09.07, 19:31
  3. Antworten: 2
    Letzter Beitrag: 29.10.06, 20:10
  4. Antworten: 3
    Letzter Beitrag: 17.09.05, 11:48
  5. autoreload
    Von seppausbayern im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.03.02, 18:39