Zu den Aufzeichnungen der tutorials.de-Live-Workshops
Seite 1 von 3 123 LetzteLetzte
Like Tree2Danke
ERLEDIGT
NEIN
ANTWORTEN
38
ZUGRIFFE
1979
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Schpringer Schpringer ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    24
    Hallo liebes Forum

    Habe mir jetzt 2 Stunden die Finger wund gesucht. Ich habe ein Anliegen, welches sehr dringend ist

    Besucht die Site http://www.snooker-4d.ch

    Im Moment führen wir ein Turnier mit Livestream und Livescore durch. Im Menu ganz unten könnt ihr auf Livestream klicken, dann zum Beispiel auf Tisch1.

    So nun mein Problem:

    Wie ihr feststellt lädt die Seite alle 30sek neu. Dadurch können wir den Livescore immer aktuell halten. Das Problem ist nun, dass durch die Aktualisierung der Livestream (Video) immer neu geladen wird. und dies ist sehr ungünstig, da man das Spiel ohne unterbruch verfolgen möchte.

    HTML-Code:
    <META NAME="oben" CONTENT="no-cache">
    <meta http-equiv="refresh" content="60">
    Die Highscores sind via iframe in die Seite eingebunden. Nun mein Ziel ist es, nur die einzelnen iframes alle 30sek zu refreshen.
    Ich weiss, dass ich die Zieldatei mit einem Meta Befehl versehen und somit zum Refresh bringen könnte. Das geht aber leider nicht, da die html Datei mit dem Livescore immer neu geschrieben wird und somit der Meta-Befehl verschwinden würde. Wie kann ich nun im iframe den refresh einstellen? Irgendwie klappt nichts so, wie man sich das wünscht. Oder könnte man auch die META im Header auf den iframe (sind 4 pro Seite) steuern?

    Der Code:

    HTML-Code:
    <iframe src="http://www.snooker-4d.ch/static/livescore_table1.html" name="Tisch 1" scrolling="no" frameborder="no" align="center" height = "160px" width = "500px">
    </iframe>
    Die Homepage wird mit einem Baukastensystem gemacht. Somit habe ich nicht direkten Einfluss auf den Quellcode. Nur auf den Head

    Ich danke euch schonmal für eure Antworten.

    Viele Grüsse

    Mike
    Geändert von Schpringer (04.09.10 um 15:18 Uhr)
     

  2. #2
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.203
    Blog-Einträge
    3
    Zitat Zitat von Schpringer Beitrag anzeigen
    Die Homepage wird mit einem Baukastensystem gemacht. Somit habe ich nicht direkten Einfluss auf den Quellcode. Nur auf den Head
    Das könnte mit JavaScript klappen:
    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    var iframe;
    window.onload = function()
    {
      iframe = document.getElementById("IdDesIframes");
      window.setInterval("RefreshIFrame()", 60000); // 60000 ms = 60 Sek.
    }
    function RefreshIFrame()
    {
      iframe.location.reload();
    }
    (In einen Script-Tag im Head einbinden; Code ist ungetestet!)
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #3
    Schpringer Schpringer ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    24
    Hallo und vielen Dank für deine Antwort

    Stimmt das so?

    HTML-Code:
    <script type="javascript">
    var iframe;
    window.onload = function()
    {
      iframe = document.getElementById("Tisch1");
      window.setInterval("RefreshIFrame()", 3000); // 60000 ms = 60 Sek.
    }
    function RefreshIFrame()
    {
      iframe.location.reload();
    }
    </script>
    Geändert von Schpringer (04.09.10 um 16:59 Uhr)
     

  4. #4
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.203
    Blog-Einträge
    3
    Alles stimmt, außer die Angabe des type-Attributs. Es muss so heißen:
    HTML-Code:
    <script type="text/javascript">
    Außerdem würde ich den Kommentar ändern, da du ja den Intervall auf 3 Sekunden gestellt hast
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  5. #5
    Schpringer Schpringer ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    24
    Das hatte ich zuerst auch, aber es passiert nichts.

    Die 3 Sekunden habe ich zum testen so eingestellt. Anstatt immer 60sek zu warten, obs funktioniert

    Aber eben. Es passiert nichts..
     

  6. #6
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.203
    Blog-Einträge
    3
    Kannst du vielleicht den ganzen Code posten oder eine URL geben?
    Eventuell kannst du auch die Fehlerkonsole des Browsers öffnen.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  7. #7
    Schpringer Schpringer ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    24
    Natürlich

    Also im Head steht nun:

    HTML-Code:
    <META NAME="oben" CONTENT="no-cache">
    <script type="text/javascript">
    var iframe;
    window.onload = function()
    {
      iframe = document.getElementById("Tisch1");
      window.setInterval("RefreshIFrame()", 3000); // 60000 ms = 60 Sek.
    }
    function RefreshIFrame()
    {
      iframe.location.reload();
    }
    </script>
    Die no-cache wurde mir empfohlen, damit der Browser nichts in den Cache speichert.

    Bei der Fehlerkonsole kommt tatsächlich alle 3sek (meine Zeiteinstellung) eine Fehlermeldung:

    Fehler: iframe is null
    Quelldatei: http://127.0.0.1:7566/livestream-sum...ch-1/index.php
    Zeile: 56

    Sagt dir das was?

    Ich bedanke mich schon mal
     

  8. #8
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.203
    Blog-Einträge
    3
    Ja, der Fehler sagt mir was.
    Das document.getElementById() liefert NULL zurück. Vielleicht existiert kein Element mit dieser ID?
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  9. #9
    Avatar von spicelab
    spicelab spicelab ist offline goaspicy
    Registriert seit
    Feb 2010
    Beiträge
    1.392
    Die Attributswerte für id, idref und name dürfen keine Leerzeichen enthalten - also muß es im <iframe>-Tag richtigerweise name="Tisch1" und nicht name="Tisch 1".

    HTML-Attribut-Referenz für ID, IDREF oder Name
    Geändert von spicelab (04.09.10 um 17:56 Uhr)
     

  10. #10
    Schpringer Schpringer ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    24
    Hmm

    Ich habe hier den Code des iframe:

    HTML-Code:
    <iframe src="http://www.snooker-4d.ch/static/livescore_table1.html" id="Tisch1" scrolling="no" frameborder="no" align="center" height = "160px" width = "500px">
    </iframe>
    unter id habe ich Tisch1 vergeben und auch im Javascript Tisch1 bei id eingegeben.

    Habe ich da was übersehen? Oder muss ich gar das ganze hochladen, damit das funktioniert? Getestet habe ich es immer Lokal...
     

  11. #11
    Avatar von spicelab
    spicelab spicelab ist offline goaspicy
    Registriert seit
    Feb 2010
    Beiträge
    1.392
    Selbstverständlich muß das Script auf den Server geladen werden, wo auch die Seite abgelegt ist, ansonsten bleibt es auf deiner lokalen Platte wirkungslos.

    Und zwischen dem vielen Ent- und Verwickeln auch mal den Browsercache leeren, und anschließend die Seite neu aufrufen
    Geändert von spicelab (04.09.10 um 18:01 Uhr)
     

  12. #12
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.203
    Blog-Einträge
    3
    Eigentlich müsste es auch lokal funktionieren. Nutzt du das Baukastensystem online oder offline (lokal)?
    Überprüfe nochmal, ob dieser Code wirklich in derselben Datei existiert, in der auch mein JS-Code drin ist.
    Ändere mal den Code so ab:
    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    var iframe;
    window.onload = function()
    {
      alert(document.getElementById("Tisch1"));
      //iframe = document.getElementById("Tisch1");
      //window.setInterval("RefreshIFrame()", 3000); // 60000 ms = 60 Sek.
    }
    function RefreshIFrame()
    {
      //iframe.location.reload();
    }
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  13. #13
    Schpringer Schpringer ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    24
    Hi, danke für deine Antwort

    Die ids wurden inzwischen angepasst. An dem kann es leider nicht liegen...
     

  14. #14
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.203
    Blog-Einträge
    3
    @Schpringer: Hast du meinen Beitrag gelesen und ausprobiert?
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  15. #15
    Avatar von spicelab
    spicelab spicelab ist offline goaspicy
    Registriert seit
    Feb 2010
    Beiträge
    1.392
    Du hast aber nicht im HTML-Code, dem bisher genutzten name-Attribut entsprechend, nun dreimal id="Tisch1" angegeben?

    Solch ein ID-Bezeichner muß nämlich im Dokumentbaum eindeutig sein, darf darin also nur einmal vergeben werden, ansonsten verweigern die Browser die korrekte Ausführung des JavaScripts.
    Geändert von spicelab (04.09.10 um 18:06 Uhr)
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 02.07.07, 14:07
  2. IFrame automatisch aktualisieren
    Von Astror Enales im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 14.07.06, 09:26
  3. IFrame aktualisieren
    Von ronaldo84 im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 30.01.06, 16:42
  4. Iframe automatisch scrollen lassen
    Von danielm im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 23.09.05, 06:33
  5. Excel Tabelle vergleichen lassen und zur not aktualisieren lassen
    Von cyberoner im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 24.01.05, 08:54

Stichworte