1 回答
![?](http://img1.sycdn.imooc.com/5458478b0001f01502200220-100-100.jpg)
TA贡献1789条经验 获得超8个赞
您可以使用LocalStorage.
代码可能如下所示:
var lastTimeGenerated = window.localStorage.getItem('lastTimeGenerated') === null
? false
: parseInt(window.localStorage.getItem('lastTimeGenerated'));
var generateInterval = 5000;
function dec2hex(dec) {
return dec < 10 ? "0" + String(dec) : dec.toString(16);
}
function generateId(len) {
var arr = new Uint8Array((len || 40) / 2);
window.crypto.getRandomValues(arr);
return Array.from(arr, dec2hex).join("");
}
function launchIntervalFnc() {
intervalFnc();
setInterval(intervalFnc, generateInterval);
}
function intervalFnc() {
var random = generateId(64);
document.getElementById("password").innerHTML = random;
window.localStorage.setItem('lastTimePassword', random);
window.localStorage.setItem('lastTimeGenerated', new Date().getTime());
}
if (lastTimeGenerated !== false && lastTimeGenerated + generateInterval > new Date().getTime()) {
document.getElementById("password").innerHTML = window.localStorage.getItem('lastTimePassword');
setTimeout(launchIntervalFnc, generateInterval - (new Date().getTime() - lastTimeGenerated));
} else {
launchIntervalFnc();
}
<div id="password"></div>
添加回答
举报