Avatar billede KingMedia Novice
19. februar 2004 - 17:30 Der er 4 kommentarer og
1 løsning

dynamisk refresh af billede i XHTML

Jeg prøver lige igen :o)

lukkede et spørgsmål på grund af inaktivitet, vil se om det nu vil kunne lade sig besvare..

( http://www.eksperten.dk/spm/459675 )


Jeg har følgende lille script som opdaterer et cam..

      <script type="text/javascript">
    var refreshRate = 3000
    function loaded(id){
        document.all["image" + id].style.display = ''
        id = ++id%2
        document.all["image" + id].style.display = 'none'
        setTimeout("setSrc(" + id + ")", refreshRate)
        window.status=''
    }
    function setSrc(id){
        document.all["image" + id].src = 'http://cam.domain.dk/User/pic.jpg?x=' + new Date().getTime()
        window.status='Opdaterer Webcam'
    }
    </script>

    <div id="header">WebCam</div>

    <div id="centerContent">

<img name="image0" id=image0" alt="" onload="loaded(0)" onerror="loaded(1)">
<img name="image1" id=image1" alt="" onload="loaded(1)" onerror="loaded(0)" style="display:none;">

        <br /><br />


-----------------------

Det er i og for sig også fint nok.
Nu vil jeg så have det til at Validere XHTML 1.0 Strict..

Det kan jeg ikke med OnError, OnLoad, og Name attributes på img tagget..

Hvordan kan jeg nemmest lave det om ?

Jeg prøvede med følgende, som selvfølgelig ikke virker..

-----------------

      <script type="text/javascript">
    var refreshRate = 3000
        setTimeout("document.getElementByID("image0")", refreshRate)
        document.getElementByID("image0").src = 'http://cam.domain.dk/User/Pic.jpg?x=' + new Date().getTime()
    </script>

    <div id="header">WebCam</div>

    <div id="centerContent">

        <img id="image0" alt="" src="http://cam.fredet.dk/Mads/KingMedia.jpg?x=" />
        <br /><br />


Håber der er nogle JavaScript eksperter der kan gi mig et skud JavaScript viden :o)

onload="" onerror=""  kan nemlig ikke valideres i XHTML..  findes der en workaround for det ?

/Mads
Avatar billede schaefner Juniormester
19. februar 2004 - 17:35 #1
Prøv:

[HEAD]

<script type="text/javascript">
function refreshImage() {
    var refreshRate = 3000
    document.getElementByID('image').src = 'http://cam.domain.dk/User/Pic.jpg?x=' + new Date().getTime()
    setTimeout('refreshImage()',refreshRate)
}
</script>

[BODY]

<img src="http://cam.fredet.dk/Mads/KingMedia.jpg" id="image" alt="" />

<script type="text/javascript">refreshImage()</script>
Avatar billede schaefner Juniormester
19. februar 2004 - 17:40 #2
[HEAD]

<script type="text/javascript">
function refreshImage() {
    var refreshRate = 3000;
    var time = new Date();
    document.getElementById('image').src = 'http://cam.domain.dk/User/Pic.jpg?x=' + time.getSeconds();
    setTimeout('refreshImage()',refreshRate);
}
</script>

[BODY]

<img src="http://cam.fredet.dk/Mads/KingMedia.jpg" id="image" alt="" />

<script type="text/javascript">refreshImage()</script>
Avatar billede schaefner Juniormester
19. februar 2004 - 17:48 #3
Den sidste burde virke, men her er en lidt kortere udgave:

<script type="text/javascript">
function refreshImage() {
    document.getElementById('image').src = 'http://cam.fredet.dk/Mads/KingMedia.jpg?' + new Date().getSeconds();
    setTimeout('refreshImage()',3000);
}
</script>

mvh:jesper.sørensen
Avatar billede KingMedia Novice
20. februar 2004 - 00:07 #4
Jeg er på vej på arbejde nu, men jeg kigger på det lige så snart jeg kommer hjem i morgen eftermiddag :o)

/Mads
Avatar billede KingMedia Novice
22. februar 2004 - 02:40 #5
superlækkert :D

tak for det.

har ikke ku gi point før nu .. eksperten.dk har været nede.. :o)

/Mads
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