好的,我收到了这段代码:
<font face="Arial" size="2">Your random number:</font></b><br></br>
<span class="xr_tl Normal_text" style=" top: 0px;
font-family:Impact;
font-size:20px;
color:#c04e51;">
<script type="text/javascript">
document.write(Math.floor(Math.random()*999999));
</script>
</span>
当您访问该页面时它生成一个随机数并且工作正常,但我需要它只生成一次随机数。这意味着当您单击刷新时,不会生成新的随机数,并且先前生成的数字将保留在那里。我怎样才能做到这一点?我认为可以通过发送cookie来完成,但我无法弄明白。
答案 0 :(得分:1)
您必须将该号码存储在某处然后再使用它。例如在cookie中。以下是一些设置,获取和取消设置cookie的功能。我认为使用cookies比localstorage更好,因为你选择它们保持有效的时间。
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
答案 1 :(得分:1)
var num = localStorage.getItem('num') || Math.floor(Math.random()*999999);
localStorage.setItem('num',num);
document.write(num);
只需将其贴在localStorage。
答案 2 :(得分:0)
您可以使用localStorage API存储关闭或刷新页面后仍会保留的信息。
var res = localStorage.getItem('randomNumber');
if(res == null){
res = Math.floor(Math.random()*999999)
localStorage.setItem('randomNumber', res);
}
document.write(res);