dcsimg
www.webdeveloper.com
Results 1 to 7 of 7

Thread: Webcam image refresh with preloading

  1. #1
    Join Date
    Aug 2008
    Posts
    1

    Webcam image refresh with preloading

    Hi everyone

    I'm looking for a way to reload a webcam image every 5-10 seconds, but I don't want to be refreshing the whole page with a basic meta-refresh.

    I'm not great with Javascript, other than for basic form validation stuff, but the following code is giving me a confusing error in FireFox 2

    This is what I've tried to get so far:
    Code:
    <html>
    <head>
    
    <script type="text/javascript">
    
    	function webcam_reload() {
    		var newImg = new Image();
    
    newImg.src = 'cam1.jpg?';
    
    		newImg.onload = function () {
    			var theImg = document.getElementById('webcamimg');
    			theImg.src = newImg.src;
    		}
    
    		theImg = null;
    		newImg = null;
    	}
    
    setInterval("webcam_reload()", 1000);
    	
    
    </script>
    
    </head>
    <body>
    
    <script>
    
    </script>
    
    <img src="cam1.jpg" alt="" border="0" name="webcamimg" id="webcamimg" />
    
    </body>
    </html>
    The error I'm getting is:
    Error: newImg has no properties
    Source File: webcam.html
    Line: 13

    Is there anyone out there who knows what the problem is?
    Or is there an alternative technique I should be looking at?

    Thanks, Ben

  2. #2
    Join Date
    Jul 2009
    Posts
    1

    Thumbs up

    HTML Code:
    <script language="javascript" type="text/javascript" >
    <!--
    function ChangeMedia(){
    	var d = new Date();
    	var t = d.getTime();
    	document.getElementById('camara').src = "_streaming/cam0.jpg?"+t;
    }
    var reloadcam = setInterval("ChangeMedia()",2000);
    -->
    </script>
    HTML Code:
    <img src="cam0.jpg" alt="Loading..." name="camara" width="450" height="335" border="0" id="camara" />
    This works will refresh the image every 2 seconds

    http://hotelpuertoviejocr.com

  3. #3
    Join Date
    Nov 2012
    Posts
    3

    More than one image

    What shall i do more if I have more than one image i wish to reload?

    I had tried adding the document element but its not working fine.

    <script language="javascript" type="text/javascript" >
    <!--
    function ChangeMedia(){
    var d = new Date();
    var t = d.getTime();
    document.getElementById('camara').src = "img/Mosta_1.jpg?"+t;
    document.getElementById('camara').src = "img/Msida_1.jpg?"+t;
    document.getElementById('camara').src = "img/Mosta_1.jpg?"+t;
    document.getElementById('camara').src = "img/Msida_1.jpg?"+t;
    }
    var reloadcam = setInterval("ChangeMedia()",30000);
    -->
    </script>

    any help please?





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

    Quote Originally Posted by FireDune View Post
    HTML Code:
    <script language="javascript" type="text/javascript" >
    <!--
    function ChangeMedia(){
    	var d = new Date();
    	var t = d.getTime();
    	document.getElementById('camara').src = "_streaming/cam0.jpg?"+t;
    }
    var reloadcam = setInterval("ChangeMedia()",2000);
    -->
    </script>
    HTML Code:
    <img src="cam0.jpg" alt="Loading..." name="camara" width="450" height="335" border="0" id="camara" />
    This works will refresh the image every 2 seconds

    http://hotelpuertoviejocr.com

  4. #4
    Join Date
    Jul 2017
    Posts
    1
    Firedune's solution worked very well for me, but what is the script and body code if you wish to refresh 2 (or more) webcam images (with the same or a different interval) on the same page?

  5. #5
    Join Date
    Mar 2007
    Location
    localhost
    Posts
    5,434
    Please don't resurrect old posts.
    --> JavaScript Frameworks like JQuery, Angular, Node <--
    ... and please remember to wrap code with forum BBCode tags:-

    [CODE]...[/CODE] [HTML]...[/HTML] [PHP]...[/PHP]

    If you can't think outside the box, you will be trapped forever with no escape...

  6. #6
    Join Date
    Dec 2012
    Posts
    1,557
    Check if this is what you require:
    Code:
    <img id="camera1"><img id="camera2"><img id="camera3"><img id="camera4">
    <script type="text/javascript" >
    function ChangeMedia(){
        var d = new Date();
        var t = d.getTime();
        document.getElementById('camera1').src = "img/cam1.jpg?"+t;
        document.getElementById('camera2').src = "img/cam2.jpg?"+t;
        document.getElementById('camera3').src = "img/cam3.jpg?"+t;
        document.getElementById('camera4').src = "img/cam4.jpg?"+t;
    }
    var reloadcam = setInterval(0ChangeMedia, 30000);
    </script>
    This code is appropriate only if there are a few cams. If there are a lot, a loop should be used instead.

  7. #7
    Join Date
    Oct 2013
    Location
    Sheboygan, Wisconsin
    Posts
    1,618
    First post 08-03-2008

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center