Ciao, puoi semplificare il codice in questo modo
codice:
<!doctype html>
<html>
<head>
<script>
const varColorValue="FFFFFF";// default color - white (index = 0)
const colors = [varColorValue, "DEC7FF", "CAD5FF", "E4FFB1", "DDDDDD" ];
function setbackground()
{
setInterval(function(){
let index = Math.round(Math.random()*4);
document.body.style.backgroundColor = "#" + colors[index];
},2000);// 60000 milliseconds delay
}
window.onload = function(){
console.log('start')
if((/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent))){
console.log('mobile')
return;
}
setbackground();
}
</script>
</head>
<body>
content
</body>
</html>
Metti i colori in un array di modo che l'indice dell'array corrisponde all'index generato(se mai sposterai i valori per cambiare sequenza).
setInterval() se vuoi un ciclo continuo altrimenti eseguirari una volta sola dopo 60 secondi.
Se mobile non fai nulla, altrimenti richiami la funzione.