10分钟没有互动后转到页面

时间:2014-06-10 15:52:38

标签: javascript timer

我正在创建一个本地网站(一次只能有一个人可以与它互动),以便在我工作的办公室的大触摸屏上显示。

客户希望在没有互动10分钟后在网站上显示屏幕保护程序。我在Flash Actionscript 3.0中创建它。有七页和七个屏保。我试图说服他们只有一个屏幕保护程序,这将使我的生活变得更容易,但客户坚持。

是否可以编写一个说

的JavaScript语句
  

“如果10分钟后未注册任何点击,请转到此网址   (Flash屏幕保护程序将在哪里)“。

我会分享我的链接以获得进一步的解释,但有些内容在此阶段是保密的。

如果有可能,我会尝试编写.js代码,并更新此部分,但我想我会先检查它是否可行。

我曾尝试为此编写JavaScript,但我无法显示任何提示框?

  function redirect(){
  window.location.href = "autoplay/index.html";
  }
  var initial=setTimeout(redirect,6000);
  function click()
  {
  clearTimeout( initial );
  alert("helo");
  initial=setTimeout(redirect,12000);
  }

3 个答案:

答案 0 :(得分:2)

我会使用underscore's debounce

执行此操作
var redirect=_.debounce(function() {
    location.href='myscreensaver.com/url';
},600000);

jQuery(document).on('click',function() {
  // trigger click
  redirect();
});

每次发生点击时,都会调用重定向。除非X时间(在这种情况下为600.000毫秒)在函数调用之间传递,否则下划线debounce方法不会调用重定向函数。这意味着在两者之间发生的点击会重置去抖定时器,并且必须重新开始。

答案 1 :(得分:1)

使用超时为10分钟的setTimeout

https://developer.mozilla.org/en-US/docs/Web/API/Window.setTimeout

每次点击都需要重置。 这里有一些信息:Resetting a setTimeout

答案 2 :(得分:1)

好的,它正在运作!

/* The redirect to autoplay page function */
 function redirect(){
 window.location.href = "autoplay/index.html";
 }
 var initial=setTimeout(redirect,6000);

 $(document).click(function(event) { 
 clearTimeout( initial );
 initial=setTimeout(redirect,12000); 
 });