Avatar billede trillebjoern Nybegynder
18. september 2012 - 11:58 Der er 7 kommentarer og
1 løsning

Automatisk reload af div

Jeg sidder og undrer mig over om det ikke er muligt at få reloaded en div, sådan at det ikke er hele siden der bliver reloaded?
Forstået på den måde, at har man eks. en netradio og man har lavet en now playing som hiver info ud af db'en, så skulle den gerne opdatere div boksen hver 20-30 sekund.

Er der nogen herinde der kan assistere med sådan en fin funktion? Da jeg er lidt lost på det område pt.
Avatar billede kalp Novice
18. september 2012 - 12:39 #1
Det kan du sagtens.
Du kan f.eks gøre det ved hjælp af AJAX.
Nemmest ville det være hvis du arbejder med jQuery.
http://api.jquery.com/category/ajax/
Avatar billede trillebjoern Nybegynder
18. september 2012 - 15:05 #2
Uha det ser farligt fint ud :) Så må jeg se om jeg kan finde hoved og hale i det :) Har aldrig rodet med AJAX før så ;)
Avatar billede kalp Novice
18. september 2012 - 15:24 #3
Fancy udtryk og fremmede ord kan virke lidt skræmmende, men det er sjældent de reelt er det:)
Avatar billede trillebjoern Nybegynder
18. september 2012 - 15:34 #4
Det lader til jeg har været heldig med at finde frem til noget AJAx ;) Tusind tak og kast lige et svar så jeg kan lukke af ;)
Avatar billede trillebjoern Nybegynder
18. september 2012 - 16:36 #5
Dvs. nu har jeg fået det ti lvirke på forsiden, men går man ind på nogle undersider så når den reloader div'en, så kommer den med en side fejl. Som om den ikke kan finde den eller lign. når den præver at opdatere.
Hvilket jeg ikke forstår når det virker fint på forsiden.
Avatar billede trillebjoern Nybegynder
18. september 2012 - 16:44 #6
Min kode ser således ud:

<script type="text/javascript">
function Ajax(){
var xmlHttp;
    try{   
        xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
    }
    catch (e){
        try{
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
        }
        catch (e){
            try{
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e){
                alert("No AJAX!?");
                return false;
            }
        }
    }

xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4){
        document.getElementById('nowplaying').innerHTML=xmlHttp.responseText;
        setTimeout('Ajax()',10000);
    }
}
xmlHttp.open("GET","./templates/atomic/now_playing.php",true);
xmlHttp.send(null);
}

window.onload=function(){
    setTimeout('Ajax()',10000);
}
</script>
            <div class="joomla-header">
                <div id="nowplaying">Spiller nu: <? echo $curPlayRow["artist"] . " - " . $curPlayRow["title"]; ?></div>

og fejlen den kommer med, når jeg går ind på undersiderne er denne:


404 - Category not found
You may not be able to visit this page because of:
an out-of-date bookmark/favourite
a search engine that has an out-of-date listing for this site
a mistyped address
you have no access to this page
The requested resource was not found.
An error has occurred while processing your request.
Please try one of the following pages:
Home Page
Search this site
If difficulties persist, please contact the System Administrator of this site and report the error below..
Category not found


Og det forstår jeg ikke helt hvorfor den gør.
Avatar billede kalp Novice
18. september 2012 - 22:07 #7
Jeg kan se du løb udenom jQuery:) Ville ellers have givet dig andre fordele i forhold til andre JS opgaver også:)

Umiddelbart så tænker jeg at dine undersider er placeret i andre mapper, og så er dette link sikkert forkert.

"./templates/atomic/now_playing.php"

Du kan hurtigt finde ud af det ved f.eks at angive den fulde sti til now_playing.php, altså med http og det hele
Avatar billede trillebjoern Nybegynder
20. september 2012 - 09:12 #8
Fik det til at virke, der var nogen der havde samme problem med joomla. Man skulle bare slå noget fra i global indstillingerne så nu funker det :) Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester