NetTalk Central

NetTalk Web Server => Web Server - Share Knowledge => Topic started by: lanmicro on June 24, 2010, 05:01:53 PM

Title: Adding JavaScript To A Timer
Post by: lanmicro on June 24, 2010, 05:01:53 PM
Hi Guys,

Someone here posted a javascript that puts a countdown until the session ends.  Here it is.  How do I implement this into my NetTalk project?

<form name="counter">
    <p align="center">
    <input type="text" size="82" name="d2" style="font-weight: bold; border: 3px solid #FF0000; color:#FF0000; background-color:#FFFF00; text-align:center">
</form>
<script>
<!--
var seconds=60
var minutes = 1
document.counter.d2.value="If you do not work you will automatically be logged out in "+minutes+" minutes and "+seconds+" seconds."
function display(){
if (seconds<=0){
    seconds=60
    minutes-=1
}
if (minutes<0){
    seconds=0
    minutes=0
    window.open('http://www.dynamicdrive.com/forums/showthread.php?t=6138','_top');
}
else
    seconds-=1
    document.counter.d2.value="If you do not work you will automatically be logged out in "+minutes+" minutes and "+seconds+" seconds."
    setTimeout("display()",1000)
}
display()
-->
</script>


 
Title: Re: Adding JavaScript To A Timer
Post by: Bruce on June 25, 2010, 02:53:55 AM
You can drop this, pretty much "as is" in your Footer tag.
that way it's included on all pages where your footer appears.

You might want to fiddle with the style a bit (the style of the input control) and of course set the "window.open" to your front page - ie something like
  window.open('indexpage','_top');
Title: Re: Adding JavaScript To A Timer
Post by: lanmicro on June 26, 2010, 12:45:45 PM
Thanks Bruce, works a treat!
Title: Re: Adding JavaScript To A Timer
Post by: lanmicro on June 30, 2010, 07:44:34 PM
How can I get my script to refresh if I never leave the page?  I would like the countdown to restart if I enter something into an entry field that causes the browse to refresh but the script thinks that I am on the same page and the countdown continues.
Title: Re: Adding JavaScript To A Timer
Post by: bshields on July 01, 2010, 04:14:47 AM
Hi,

You could add another function directly after the "display" function to set the timer.

function settimer(){
  minutes=1
  seconds=60
}


This will set the variables back to the timeout value (you could just access the javascript variables directly, but this approach is more polite).

The real problem is how do you call this function each time NT does an ajax request. You could add some javascript to everyplace NT does a ajax call. But thats a real pain. Another approach is to edit NT's sv function to add support for this idea (and possibly other functions). This has its own problems, each time NT is updated you'd have to update it with your "changes". You'd also have to promote your variables and functions into NTs javascript so they are in scope.

This approach is certainly possible - but painful, another idea would be to ask Bruce nicely to do it for you :)

Regards
Bill