You can use the localStorage API to store pages you've already visited.
//set page to an empty array, simpler syntaxvar page = [];page[0]="spelopdracht1.html";page[1]="spelopdracht2.html";page[2]="spelopdracht3.html";page[3]="spelopdracht4.html";page[4]="spelopdracht5.html";page[5]="spelopdracht6.html";page[6]="spelopdracht7.html";page[7]="spelopdracht8.html";page[8]="spelopdracht9.html";page[9]="spelopdracht10.html";page[10]="spelopdracht11.html";page[11]="spelopdracht12.html";page[12]="spelopdracht13.html";page[13]="spelopdracht14.html";page[14]="spelopdracht15.html";page[15]="spelopdracht16.html";page[16]="spelopdracht17.html";page[17]="spelopdracht18.html";page[18]="spelopdracht19.html";page[19]="spelopdracht20.html";page[20]="spelopdracht21.html";//get our data from local storage, it's a stringvar pagesAlreadyVisited = window.localStorage.getItem('pagesAlreadyVisited');if (pagesAlreadyVisited){ //convert comma delimited list to array //eg. "4,5,9" to [4,5,9] pagesAlreadyVisited = pagesAlreadyVisited.split(","); //iterate through each page we already visited pagesAlreadyVisited.forEach( function(pageIndex){ //remove this page from pages since we don't want to visit it //splice removes it from the array completely //play around with splice to understand how it works, its tricky! page.splice(pageIndex,1); });} else { //if pagesAlreadyVisited is null, empty or undefined pagesAlreadyVisited = [];//set to empty array, we may use it later}//moved howMany down here, after all pages processing is completehowMany = page.length;function getRandPage(){ //get our random page, use Math.floor instead of parseInt. var randIndex = Math.floor(Math.random()*howMany); var randPage = page[randIndex]; //add page index to visited array pagesAlreadyVisited.push(randIndex); //convert array to string so we can store in localStorage var pagesAlreadyVisitedString = pagesAlreadyVisited.join(); window.localStorage.setItem('pagesAlreadyVisited',pagesAlreadyVisitedString); return randPage;}quox = getRandPage();window.location=(quox);console.log(pages.length);//number of unread pages remaining
Browser compatibility for localStorage is great these days:http://caniuse.com/#feat=namevalue-storage More resources:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStoragehttps://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API