Looking closely, i noticed some other errors as well - arrayLink is written with a lower case L in window.location=arraylink, but in upper case elsewhere. Also, storedLinks.links.splice(index, 1); should be storedLinks.splice(index, 1); (without .links). And, once you've visited all your pages, you'll try to load an "undefined" page since you don't reinitialize your array.
This works for me (remember to save it to all your file names):
<script>
var initialLinks=['music.html', 'test.html', 'recover.html', 'random.html']
function randomLink(){
if (typeof(Storage)!=="undefined")
{
if (sessionStorage.links)
{
alert("reading(1) "+sessionStorage.links);
var storedLinks = JSON.parse(sessionStorage.links);
if (storedLinks.length==0) {
storedLinks=initialLinks;
}
var arraylink = storedLinks[Math.floor(Math.random()*storedLinks.length)];
var index = storedLinks.indexOf(arraylink);
if (index > -1){
storedLinks.splice(index, 1);
}
sessionStorage.links = JSON.stringify(storedLinks);
alert("saved(1) "+sessionStorage.links);
window.location = arraylink;
}
else
{
sessionStorage.links = JSON.stringify(initialLinks);
alert("reading(1) "+sessionStorage.links);
var storedLinks = JSON.parse(sessionStorage.links);
var arraylink = storedLinks[Math.floor(Math.random() *storedLinks.length)];
var index = storedLinks.indexOf(arraylink);
if (index > -1){
storedLinks.splice(index, 1);
}
sessionStorage.links = JSON.stringify(storedLinks);
alert("saved(2) "+sessionStorage.links);
window.location = arraylink;
}
}
else
{
document.write("Sorry, your browser does not support web storage.");
}
}
</script>
<a href="javascript:randomLink()">Follow Link</a>