Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Desafio final - erro XMLHttpRequest no Chrome e Looping no Firefox

Olá, o meu programa ficou assim:

<meta charset="utf-8">

<input type="submit" value="Apostar!" id="apostar"/>

<script>
var sorteados = [];
var apostas = [];
var acertos = 0;

for(var i = 0; i <= 5; i++) {
    var numero = Math.round(Math.random()*59) + 1; //sorteia um número aleatório entre 1 e 60
    for(var i2 = 0; i2 <= sorteados.length; i2++) { //verifica se o número já foi sorteado
        if(sorteados[i2] == numero) {
            i = 0; //se já foi sorteado, inicia todo o sorteio novamente
        }
    }
    sorteados[i] = numero;
}

var apostando = function() {
    for(var i = 0; i <= 5; i++) {
        var numero = prompt("Informe o " + (i + 1) + "º número de 1 a 60:"); //recebe o número da aposta
        for(var i2 = 0; i2 <= apostas.length; i2++) { //verifica se o número já foi apostado
            if(apostas[i2] == numero) {
                numero = prompt("Número já anotado.\nInforme novamente o " + (i + 1) + "º número de 1 a 60:");
            }
        }
        apostas[i] = numero;
    }
    document.write("<br />Números sorteados: " + sorteados);
    document.write("<br />Números de sua aposta: " + apostas);
    for(var i = 0; i <= 5; i++) {
        for(var k = 0; k <= 5; k++) {
            if (sorteados[i] == apostas[k]) {
                acertos++;
            }
        }
    }
    document.write("<br />Acertos: " + acertos);
    document.write("<br />Chances de acertar os 6 números: " + (1 / ((60 * 59 * 58 * 57 * 56 * 55)/(1 * 2 * 3 * 4 * 5 * 6))) * 100 + "%");
}

var apostar = document.getElementById("apostar");
apostar.onclick = apostando;

</script>

Ele está funcionando direitinho, porém apresenta a seguinte mensagem de erro no console do Google Chrome:

Navigated to file:///D:/TI/Primeiros%20passos/desafio.html

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
VM143:62 

GET https://nikkomsgchannel/e?00190024002c005400440035001b005a005c0051005700230…20002e005e00450060002200560046005d0004002a005f002900280058005f002f00280055
VM143:63

Curiosamente quando eu abro no Firefox não aparece esses erros. Mas no término do sorteio o ícone da aba fica carregando e aparece a mensagem "Conectando...", como se estivesse em um looping.

No Internet Explorer, porém, funciona redondo, sem nenhum erro.

Alguém poderia me ajudar?

3 respostas
solução!

Oi Thiago,

não se preocupe com esse erro. Ele se refere a uma especificação dos navegadores sobre uma restrição de usar um XMLHttpRequest (XHR) síncrono no código principal. Isto é, o navegador está, por questões internas a ele, tentando fazer uma requisição a mais depois do seu programa executar usando o jeito desaconselhado pela nova regra para navegadores.

Em suma... se você não estiver mexendo com AJaX (e espero que não esteja tão cedo :-)), não precisa se preocupar com esse erro, ok?

Obrigado Celina

Ops... Cecilia! ;)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software