Sons pré-carregados sendo descarregados?

Então, eu tenho o seguinte código de teste:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
   <button onclick="play()">Play</button>
    <script>
        var sounds = new Array();
        preloadSnd = function(){
            var snds = new Array();
            for(i = 0; i < preloadSnd.arguments.length; i++){
                snds[i] = new Audio();
                snds[i].src = preloadSnd.arguments[i];
            }
            sounds.push(snds);
        }
        preloadSnd(
            "test1.mp3",
            "test2.mp3",
            "test3.mp3",
            "test4.mp3",
            "test5.mp3",
            "test6.mp3",
            "test7.mp3",
            "test8.mp3"
        )
        play = function(){
            sounds[0][parseInt(Math.random()*8)].play();
        }
    </script>
</body>
</html>

Ele pré-carrega alguns arquivos de áudio e, com o clique de um botão, reproduz aleatoriamente um deles. O problema é que, depois de aproximadamente um minuto, alguns dos arquivos de áudio parecem descarregados porque são buscados novamente no servidor quando reproduzidos. Isso significa que, depois que o meu "aplicativo" for carregado, eu ainda preciso estar conectado à Internet para ouvir alguns dos sons. Se meu cache estiver ativado, ele não precisará ser conectado à Internet, mas não posso confiar no fato de o cache estar ativado. Existe alguma maneira de manter esses arquivos carregados para que eles não precisem ser buscados repetidamente?

questionAnswers(2)

yourAnswerToTheQuestion