1

我正在用 Javascript 开发一个测验组件,其中有一个 startTimer() 函数,它根据传递给它的值开始倒计时。该函数在页面加载和测验开始时被调用。

我不会让用户再次调用该函数并更改测验时间。

是否可以检测到该函数被第二次调用???

4

3 回答 3

1

任何用户都可以在他们的浏览器中禁用 JavaScript。

我建议您记录提供页面和返回服务器的答案之间的时间,并将其用作他们花费多长时间的最终来源。也许允许一点缓冲区来补偿网络延迟和页面呈现时间。

JavaScript 计时器可以是一个很好的 UI 功能,可以帮助用户知道他们还剩下多少时间,但永远不要相信用户界面,因为聪明的用户会编写自己的 UI(或者在这种情况下,将 UI 配置为不使用 JavaScript )。

于 2012-06-27T21:05:40.777 回答
0

如果您想阻止人们更改测验的任何方面,您将必须在服务器上实施限制。

要防止在客户端干预测验数据,即使不是不可能,也是非常困难的。

于 2012-06-27T21:05:56.567 回答
-1

谢谢大家,我在网上找到了这个:

function createChance(){  
    var chanceLeft = true;  
    return function(){  
        if(chanceLeft){  
            console.log("This was the only chance you had.");  
             chanceLeft = false;  
        }  
        else{  
            console.log('Sorry: you already used your chance');  
        }  
    };  
}  

var chance = createChance();  
chance();  
 // This was the only chance you had.  
chance(); 
// Sorry: you already used your chance 

有什么技巧吗????

于 2012-06-27T21:11:45.390 回答