O Willian esqueceu de diminuir o valor do contador dentro do while. E como a condição é contador > 0, esse valor nunca muda, então o loop fica rodando para sempre, o famoso loop infinito.
Bastava colocar (contador--) dentro do while.
while(contador > 0){
let numero = parseInt(prompt('Digite o numero:'));
soma += numero;
contador--; // Essa linha faz o contador diminuir a cada repetição
}