Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP/JS] refresh als inhoud veranderd

Anoniem
Annie
6 antwoorden
  • ik ben bezig met een internetradiostation. Elke 15 seconde word de pagina met de titel album artiest ed gerefrest.
    Is het ook mogelijk om dit alleen te doen als de inhoud is verandert. ik ben nl bang dat de server load van alleen al die pagina groot word. Hij leest al verschillende bestanden uit, in totaal worden er 5 requests gedaan:

    de pagina zelf,
    de album art,
    2 pagina's met data
    en een filter die die informatie toonbaar maakt.

    Kan je in php of js iets maken zodat de pagina alleen ververst als de gegevens veranderd zijn?
  • Als je weet hoe lang het nummer nog duurt op het moment dat een bezoeker de pagina opvraagt, dan kun je die tijd meesturen in de refresh-meta. Die refresht dan op het moment (liever 2 sec. later) dat het volgende nummer begint.

    Als je dat niet kan achterhalen, dan zou je de pagina die gerefreshd wordt kunnen verkleinen, bijv. door met een cookie te werken waarin je een datum/tijd opslaat. Daarnaast heb je een tekstbestand op de server waarin de tijd staat dat het huidige nummer is gestart. Je laat een kort php-script in een verborgen frame refreshen. Het script controleert de tijd die de bezoeker in zijn cookie meestuurt. Als die afwijkt van de tijd in het tekstbestandje, dan werkt het script het cookie bij en stuurt ie een javascript waarmee het frame met de titelinfo wordt gerefreshd.

    Je kan dat ook met een javascript aan de clientkant doen en dan hoef je alleen iedere 15 sec. dat tekstbestand met de datum uit te lezen. En je moet op de server iets hebben draaien dat dat tekstbestand steeds update als er een nieuw nummer start.
  • de inhoud wordt elke 15 seconden geupload…

    [quote:31313f7470]Als je weet hoe lang het nummer nog duurt op het moment dat een bezoeker de pagina opvraagt, dan kun je die tijd meesturen in de refresh-meta. Die refresht dan op het moment (liever 2 sec. later) dat het volgende nummer begint.[/quote:31313f7470]
    de grap is dat je ook midden in een nr op die pagina kan binnen komen, en dan loop je dus standaard zwaar achter
    [quote:31313f7470]Je kan dat ook met een javascript aan de clientkant doen en dan hoef je alleen iedere 15 sec. dat tekstbestand met de datum uit te lezen. En je moet op de server iets hebben draaien dat dat tekstbestand steeds update als er een nieuw nummer start.[/quote:31313f7470]Dat was mijn id, maar hoe pak ik dat aan???
  • [quote:9a1de9483a="ANNErd"]de inhoud wordt elke 15 seconden geupload…
    Dat was mijn id, maar hoe pak ik dat aan???[/quote:9a1de9483a]
    Server-side een cronjob draaien die je tekstbestand update. En client-side via XMLHttp (buzzword: AJAX) de inhoud van dat bestand checken.
  • hoezo de gegevens uit zn verband rukken. De laatste regel hoort bij de laatste quote, niet bij de eerste zin…
  • [quote:845f5a28cd]de grap is dat je ook midden in een nr op die pagina kan binnen komen, en dan loop je dus standaard zwaar achter[/quote:845f5a28cd]
    Daarom zeg ik ook "hoe lang het nummer nog duurt op het moment dat een bezoeker de pagina opvraagt". Dus als je ergens de lengte van een song kan opslaan/hebt opgeslagen.

    Dat javascript kan dan idd via XMLHTTP het tekstbestand lezen. Vervolgens met een cookie vergelijken en indien ongelijk: frame.location.reload() en dan dus ook weer het cookie setten.

    google: javascript+xmlhttp
    google: javascript+cookie
    google: javascript+reload

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.