Avatar billede pcdl Nybegynder
23. september 2006 - 00:38 Der er 9 kommentarer og
1 løsning

Reloade 1 bestemt ting

et eksempel

Har den her
document.all['baggrunde'].innerHTML
hvor der så er nogle billeder osv

så skal jeg have et script som kun reloader lige præcis den der så hvis jeg fx sætter et nyt billede på kommer der af sig selv uden man skal trykke f5 eller opdatere nogen der ved hvordan det kan ordnes ?
Avatar billede softspot Forsker
23. september 2006 - 00:51 #1
Du kan lave en iframe hvori du loader data og så overføre indholdet (eller en del heraf) til dit "baggrunde"-element. Din iframe kan du så sætte til at reloade med et interval eller på kommando om du skulle ønske dette.

<iframe id="updater" style="display:none;"></iframe>

<div id="baggrunde"></div>


koden der indlæses i dín iframe kunne så se således ud (det skal ligge i en separat side). Indholdet i bodysektionen genereres på serveren fra kald til kald...

<html><head>
<script type="text/javascript">
window.onload = function() {
  if(parent && parent != window) {
    // overfør de nye baggrunde til det vindue som indeholder denne side...
    parent.document.getElementById("baggrunde").innerHTML =
        document.getElementById("nyebaggrunde").innerHTML;
  }
  // genindlæs denne side om 5 sekunder og opdater dermed baggrunde...
  setTimeout("window.location.reload(true)",5000);
}
</script>
</head>
<body>
<div id="nyebaggrunde">
  <img src="bg1.gif">
  <img src="bg2.gif">
  <img src="bg3.gif">
</div>
</body>
</html>
Avatar billede softspot Forsker
23. september 2006 - 00:54 #2
Din hovedsides iframe skal nok lige pege på den side du benytter til at opdatere baggrunde med:

<iframe id="updater" src="opdaterbaggrunde.asp" style="display:none;"></iframe>

En kommentar til filen opdaterbaggrunde.asp er også at indholdet i div-elementet med stor sandsynlighed skal genereres med et eller andet serversprog som f.eks. ASP eller PHP...
Avatar billede pcdl Nybegynder
23. september 2006 - 01:12 #3
problemet er bare at der ikke kan være frames det var derfor jeg ledte efter en enkel løsning hvor jeg bare kunne sætte den linie ind også refresher den vær 5 sekund
Avatar billede softspot Forsker
23. september 2006 - 01:32 #4
Hvorfor kan der ikke være en iframe?

Alternativet kunne være AJAX, men så er du umiddelbart ude i en mere kompleks løsning vil jeg mene...
Avatar billede mclemens Nybegynder
23. september 2006 - 03:00 #5
Hvad med denne her:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">

var reftimeout=2000; // timeout på refresh af billeder i ms. - pas på den ikke sættes for lavt...

var bgso,bgs={};

if(window.addEventListener)window.addEventListener("load", wload, false);
else if(window.attachEvent)window.attachEvent("onload", wload);

function wload(){
  bgso=document.getElementById("baggrunde");
  imgs=bgso.getElementsByTagName("img");
  for(i=0;i<imgs.length;i++)bgs[i]=imgs[i].getAttribute("src");

  setInterval("refpics();",reftimeout);

}

function refpics(){
  var time="?time="+new Date().getTime();
  imgs=bgso.getElementsByTagName("img");
  for(i=0;i<imgs.length;i++)imgs[i].setAttribute("src",bgs[i]+time);
}
</script>

</head><body>

<div id="baggrunde">
<img src="b1.jpg">
<img src="b2.jpg">
</div>

</body></html>



... læg mærke til at src angivelsen skifter - derved hentes en ny udgave løbende ...
- pas på timeout'en, den kan udvides med lidt mere object håndtering så den ikke refresher src'en hvis tidligere refresh ikke er overstået endnu (ved skift af en object værdi ved skift af src og ved returnering af load af billede fuldført - den del må dog hænge til imorgen (skal i seng nu) ... hvis det kan bruges og den sidste check del ønskes så skriver du lige))
Avatar billede pcdl Nybegynder
23. september 2006 - 13:48 #6
Hmm det er fordi det kører over en database lidt ligesom et nyhedssystem men det er kun billedet der skal skifte hvis man ændre det i databasen det andet må ikke reloade kun det ene billede der
Avatar billede pcdl Nybegynder
23. september 2006 - 17:48 #7
Lukker
Avatar billede mclemens Nybegynder
23. september 2006 - 18:01 #8
Du bør skrive hvordan du fik dit spørgsmål løst,
og pas på det med at skrive lukker ikke bliver en vane
( http://www.eksperten.dk/spm/724200 ) ... selvfølgelig
blot et venligt råd ...
Avatar billede softspot Forsker
24. september 2006 - 09:51 #9
mclemens, du har min fulde opbakning... det er dårlig skik bare at vende folk, der hjælper, ryggen uden at give en ordentlig afsked endsige en beløning for deres arbejde. Jeg kan se at du er blevet forbigået af pcdl før. Det lader til at pcdl ikke har lært hvordan man omgås andre... man kan håbe det er noget der kommer med alderen :)
Avatar billede mclemens Nybegynder
24. september 2006 - 10:23 #10
De blev lukket samtidig Softspot ;)

... ((( Tror bare jeg blev lidt træt / irriteret da
jeg så lukningerne, det er lidt surt at sidde oppe kl 3
om natten og så senere næste dag lukker spørgsmålet lynhurtigt )))...

- Fandt tråden her efter at jeg havde skrevet:
http://www.eksperten.dk/spm/734180 Det var så en "misforståelse"
af hmm10's forespørgsel på mange åbne spørgsmål ... dog
en lidt uheldig misforståelse, synes jeg :)

( nå, jeg lader det ligge , men det er sommetider
rart lige at rense luften og skrive ens mening ;) )
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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