【问题标题】:Disable Back Button in browser Not working在浏览器中禁用后退按钮不起作用
【发布时间】:2013-12-13 06:39:02
【问题描述】:

以下代码是包含计时器和其他2个功能的javascript

`
变种秒; 变量最小值; 变种计数器=setInterval(定时器,1000); //1000 将每 1 秒运行一次

  //set the timer to the session variable only for the first time
 if(isPostBack == 'false'){
   sec=second;
   min=minute;  
 }

   //set the timer
   function timer()
 {

       if(isPostBack == 'true')
       {
          sec = second;
          min = minute; 
       }
       sec=sec-1;


     if(sec < 0)
    {
       sec=59;
       min--;
    }
    else
    {
      min=min;
    }

  if(sec <=9 )
  {
    sec = "0"+sec;
  }

  document.getElementById("lblCountDown").innerHTML= "Time Left: "+(min<=9 ? "0" + min : min)+"   mins"+" "+sec + " secs";

  //copy the value of min and sec in fields
  document.getElementById("min").value=min;
  document.getElementById("sec").value=sec;

 //copy the value of min and sec in session variable
  minute = min;
  second = sec;


  if (min <=0 && sec <= 0)
  {
     clearInterval(counter);
     alert("Times Up!!!. Your Test Will Be Auto Submited");
     document.getElementById("Submit").click();
     return;
  }          

}

function showKeyCode(e)
{

    var keycode =(window.event) ? event.keyCode : e.keyCode;

    if(keycode == 116)
    {
        alert("Page Cannot be refresh");
        event.keyCode = 0;
        event.returnValue = false;
        return false;
    }
}

function disableBackButton()
{
  window.history.forward(1);
}

` aspx.cs 文件中的代码

`<body onload = "disableBackButton()" onkeydown = "showKeyCode()">

后退按钮没有被禁用 有人可以提出解决方案吗?

【问题讨论】:

  • 该代码不会禁用后退按钮!
  • 顺便说一句,你应该写 === 而不是 == 我同意 @epascarello 关于禁用按钮的观点。
  • 为什么这段代码不会禁用按钮?正确的做法是什么?
  • 没有适当的方法可以“禁用”浏览器按钮,从用户体验的角度来看,您不应该试图剥夺最终用户使用浏览器的能力,因为它被设计为可以工作。

标签: javascript timer


【解决方案1】:

该代码不会禁用后退按钮!

该代码必须在前一页上。

【讨论】:

    猜你喜欢
    • 2011-10-18
    • 2011-08-06
    • 1970-01-01
    • 2010-10-31
    • 2014-04-17
    • 1970-01-01
    • 2013-01-20
    相关资源
    最近更新 更多