Avatar billede nwn Nybegynder
01. april 2007 - 13:02 Der er 19 kommentarer og
2 løsninger

Kun opdater iframe

Som overskriften lyder. Jeg skal bruge et javscript, der opdater en iframe, hvert sekundt. Javascriptet skal kun opdater iframen, og ikke den aktuelle side. Nogle der kan hjælpe ?
Avatar billede roenving Novice
01. april 2007 - 13:12 #1
<script type="text/javascript">
window.onload = function(){
  setInterval("updateIframe()",10000);//hvert 10. sekund
}
function updateIframe(){
  window.frames["dinIframe"].location.reload(true);
}
</script>

-- og det er med vilje, jeg har ændret til hvert 10. sekund, for din server skal vel også kunne besvare de foresørgsler, der kommer !-)

-- hvis du også vil sikre, at der opdateres, selvom brugeren har sat caching på, skal vi ud i noget med et timestamp ...
Avatar billede softspot Forsker
01. april 2007 - 13:14 #2
Hvis det bare er en opdatering med de samme egenskaber, så kan du lave en reload (så klikker den heller ikke):

function updateIFrame() {
  var ifm = document.getElementById("ifmUpdater");
  (ifm.contentDocument ? ifm.contentDocument.defaultView : ifm.contentWindow).location.reload(true);
  setTimeout("updateIFrame", 1000);
}


Hvis der skal sendes nye parametre med, så skal du sætte location.href i stedet for at kalde reload.

Din iframe skal have et ID for at dette fungerer...
Avatar billede softspot Forsker
01. april 2007 - 13:16 #3
OK, selvom roenving kom først, så er jeg vist nød til lige at rette en lille fejl i min kode:

  setTimeout("updateIFrame", 1000);

skal i stedet være:

  setTimeout("updateIFrame()", 1000);

og ja, så mangler jeg jo også at vise hvordan den bliver sparket igang (men det har roenving allerede vist, så det gider jeg ikke også at gøre :)
Avatar billede nwn Nybegynder
01. april 2007 - 13:38 #4
Kan ik få nogle af dem til at virke, ved ik om jeg gør det rigtigt.

Jeg skal bruge det til min chat, så det er meningen iframet opdatere hvert sekundt.

Med roenvings, ser mit sådan herud og det virker ikke
-----------------------------------------------------
<!DOCTYPE html PUBLIC "">
<html>
<head>
    <title>Test</title>
<script type="text/javascript">
window.onload = function(){
  setInterval("updateIframe()",10000);//hvert 10. sekund
}
function updateIframe(){
  window.frames["chat"].location.reload(true);}
</script>
</head>
<body>
<iframe name="chat" src="http://www.xhero.dk/Scripts/chat/chat.php" widht="300" height="300">


</body>
</html>
------------------------
Og med softspots
------------------------
<!DOCTYPE html PUBLIC "">
<html>
<head>
    <title>[Ingen titel]</title>
<script type="text/javascript">
window.onload = function(){
function updateIFrame() {
  var ifm = document.getElementById("ifmUpdater");
  (ifm.contentDocument ? ifm.contentDocument.defaultView : ifm.contentWindow).location.reload(true);
  setTimeout("updateIFrame()", 1000);
}
</script>
</head>
<body>

<iframe id="ifmUpdater" src="http://www.xhero.dk/Scripts/chat/chat.php" widht="300" height="300">

</body>
</html>
---------------------
Kan ik få nogle af dem til at virke, hvad gør jeg forkert ?
Avatar billede roenving Novice
01. april 2007 - 13:40 #5
-- du skal lukke dit iframe-tag !-)

<iframe name="chat" src="http://www.xhero.dk/Scripts/chat/chat.php" widht="300" height="300"></iframe>
Avatar billede softspot Forsker
01. april 2007 - 13:46 #6
og f.s.v.a. min, så skal du (ud over at lukke dit iframe-tag) færdiggøre din window.onload-funktion:

window.onload = function(){
  updateIFrame();
}
Avatar billede nwn Nybegynder
01. april 2007 - 14:04 #7
De virker stadig ikke ?
Avatar billede roenving Novice
01. april 2007 - 14:12 #8
Kan du linke til et eksempel ?-)
Avatar billede nwn Nybegynder
01. april 2007 - 14:15 #9
Jo. Prøv at gå ind på www.xhero.dk/roenving.html og dernæst www.xhero.dk/Scripts/chat

Inde på www.xhero.dk/Scripts/chat skriver du et navn, og så skriver du en besked, men den kommer stadig ik frem inde i iframen ?
Avatar billede softspot Forsker
01. april 2007 - 14:21 #10
Du skal heller ikke have semikolon efter window.onload = function()
Avatar billede roenving Novice
01. april 2007 - 14:22 #11
Du har et semikolon i window.onload-linjen, fjern det !-)
Avatar billede roenving Novice
01. april 2007 - 14:24 #12
Bingo !-)
Avatar billede nwn Nybegynder
01. april 2007 - 14:24 #13
Sådan nu virker det, tusind tak (:

Hvad gør vi med point, vil i dele dem ?
Avatar billede roenving Novice
01. april 2007 - 14:26 #14
Gerne for mig !o]

Velbekomme '-)
Avatar billede nwn Nybegynder
01. april 2007 - 14:28 #15
Ehm, hvordan giver jeg jer så 40 point hver q: ?
Avatar billede roenving Novice
01. april 2007 - 14:30 #16
-- du skal også lige have et svar fra softspot !-)
Avatar billede nwn Nybegynder
01. april 2007 - 14:31 #17
Okay, smider du et svar softspot ?
Avatar billede softspot Forsker
01. april 2007 - 15:06 #18
Ja, undskyld, kommer her... :)
Avatar billede softspot Forsker
01. april 2007 - 15:42 #19
Tak for point :)
Avatar billede nwn Nybegynder
01. april 2007 - 15:47 #20
Selv tak (:
Avatar billede roenving Novice
02. april 2007 - 02:15 #21
-- og jeg takker også for point ;~}
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