mboost-dp1
Tidsstyret ajax
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Jeg har lidt af et problem med JavaScript...
Jeg har noget indhold i en database, som jeg så vil vise i noget tid, hvorefter jeg med ajax loader noget nyt content i stedet for, og viser det. Det er nemt nok at lave.
Problemet er, at noget indhold skal vises i længere tid end noget andet. I min database har jeg gemt det antal sekunder indholdet skal vises i, så det kan jeg loade sammen med indholdet, men hvordan får jeg javascript til at læse denne information, også hente ny data herefter.
Giver det mening?
Lige nu har jeg bare lavet et hack, hvor jeg bruger en meta http-equiv="refresh", men jeg vil helst kunne reloade indholdet, uden at skulle reloade siden.
Jeg har noget indhold i en database, som jeg så vil vise i noget tid, hvorefter jeg med ajax loader noget nyt content i stedet for, og viser det. Det er nemt nok at lave.
Problemet er, at noget indhold skal vises i længere tid end noget andet. I min database har jeg gemt det antal sekunder indholdet skal vises i, så det kan jeg loade sammen med indholdet, men hvordan får jeg javascript til at læse denne information, også hente ny data herefter.
Giver det mening?
Lige nu har jeg bare lavet et hack, hvor jeg bruger en meta http-equiv="refresh", men jeg vil helst kunne reloade indholdet, uden at skulle reloade siden.
Well, indholdet er nogle Flash-videoer, hvis ID jeg har gemt i databasen sammen med længden.
Lige nu henter jeg ID'en og længden fra databasen, ID'en omsætter jeg med php til rent faktisk at indsætte den rigtige film og længden bliver smidt i en meta refresh.
Men det kan jeg jo bare ændre.
Lige nu henter jeg ID'en og længden fra databasen, ID'en omsætter jeg med php til rent faktisk at indsætte den rigtige film og længden bliver smidt i en meta refresh.
Men det kan jeg jo bare ændre.
Ja,
http://lejemorder.dk/tv/
Min egen YouTube MTV.
Jeg bruger YouTubes API til at hente info om filmene, bl.a. længden, men har gemt det i en lokal database, så jeg kun laver opkald til YouTube når man tilføjer nye videoer.
http://lejemorder.dk/tv/
Min egen YouTube MTV.
Jeg bruger YouTubes API til at hente info om filmene, bl.a. længden, men har gemt det i en lokal database, så jeg kun laver opkald til YouTube når man tilføjer nye videoer.
Det er også fornuftigt nok.
Det kan sagtens gøres på en simpel måde.
Hvis du henter næste films id samtidig med at du henter linket til den film du vil se nu kan du gøre noget i stil med
document.getElementById('content').childNodes[3].style.display="none";
document.getElementById('content').childNodes[3].childNodes[0].setAttribute("value","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");
document.getElementById('content').childNodes[3].childNodes[2].setAttribute("src","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");
document.getElementById('content').childNodes[3].style.display="block";
en test er følgende, bare sæt den ind i firefox's addreselinie og tryk enter
javascript:document.getElementById('content').childNodes[3].style.display="none";document.getElementById('content').childNodes[3].childNodes[0].setAttribute("value","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");document.getElementById('content').childNodes[3].childNodes[2].setAttribute("src","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");document.getElementById('content').childNodes[3].style.display="block";void(0);
Det kan sagtens gøres på en simpel måde.
Hvis du henter næste films id samtidig med at du henter linket til den film du vil se nu kan du gøre noget i stil med
document.getElementById('content').childNodes[3].style.display="none";
document.getElementById('content').childNodes[3].childNodes[0].setAttribute("value","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");
document.getElementById('content').childNodes[3].childNodes[2].setAttribute("src","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");
document.getElementById('content').childNodes[3].style.display="block";
en test er følgende, bare sæt den ind i firefox's addreselinie og tryk enter
javascript:document.getElementById('content').childNodes[3].style.display="none";document.getElementById('content').childNodes[3].childNodes[0].setAttribute("value","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");document.getElementById('content').childNodes[3].childNodes[2].setAttribute("src","http://www.youtube.com/v/HvuTtrkVtns&autoplay=1");document.getElementById('content').childNodes[3].style.display="block";void(0);
#9
Cool, mange tak.
Jeg ved ikke lige hvor meget jeg vil gøre ud af siden nu, siden YouTube er ved at ændre deres API meget snart. Men det er da helt sikkert noget der kan bruges.
Cool, mange tak.
Jeg ved ikke lige hvor meget jeg vil gøre ud af siden nu, siden YouTube er ved at ændre deres API meget snart. Men det er da helt sikkert noget der kan bruges.
#9
Tænkte på, hvad er det, du gør her
I IE6 får jeg nemlig bare en alert "a", uden det rigtig virker...
Tænkte på, hvad er det, du gør her
} else {
alert("a");
document.getElementById("pa").value = info.url;
alert("b");
document.getElementById("eb").src = info.url;
alert("c");
}
I IE6 får jeg nemlig bare en alert "a", uden det rigtig virker...
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.