我一直在爲未來的項目編寫代碼庫。我一直在研究的功能之一是暫停功能。到目前爲止,對於報告腳本運行時間長達10秒的錯誤,我沒有任何問題。這主要是讓惡意用戶忙碌,這在你設置很長時間時效果很好。我想知道是否有任何我應該注意的錯誤,我可能會面對? 下面的代碼...暫停所有javascript
pause = function(a) {
var b = new Date().getTime();
e = false;
function wait() {
d=10;
for(i=0;i<d;i++) {
d++;
var c = new Date().getTime();
if(c-b>=a) {
e = true;
break;
}
if(d>1000000) {
break;
}
}
}
wait();
if(e==false) {
pause(a-(new Date().getTime()-b));
}};
Eeeck。如果我遇到過這樣的網頁,我永遠不會回到那個網站。這是可怕的行爲。瀏覽器試圖阻止它的原因。 – jfriend00
這也是不良代碼,未聲明的隱式全局變量和循環以及不需要的測試。 – jfriend00
這個函數更多地被用作惡意用戶的防禦機制,你可以想象當它被設置爲1000000時會發生什麼。雖然沒有人真的回答了這個問題,但是無論如何,謝謝。 – FrameDev