0
votes

Utilisation de l'emplacement.Reload sur Chrome ne fonctionne pas car il devrait, en utilisant le même code dans Firefox fonctionne bien

Je fais un jeu de serpent à l'aide de JavaScript et je vérifie si l'utilisateur a touché les frontières, s'il a une gamever et une fonction de jeu est appelée qui montre une boîte de confirmation avec son contenu en fonction de la langue du fichier HTML. Parce que j'ai 2 fichiers HTML: un pour français et un pour l'anglais.

this.alert = alert;

this.gameOver = function() {
    const langCheck = document.getElementById("html").lang;
    if (langCheck === "fr") {
      alert = confirm("\t\tPerdu!\n\n Votre longueur était: " + this.eaten);
    } else {
      alert = confirm(
        "\t\tGame Over!\n\n Your snake length was: " + this.eaten
      );
    }
    console.log(alert);

    if (alert === true) {
      document.location.reload(true);
    } else {
      document.location.reload(true);
    }
  };


1 commentaires

essayez l'historique.go (0) au lieu ou simplement envelopper le code dans un délai d'attente de sécurité (fonction (fonction () {window.location.reload ();}) ;, normalement chrome est ok avec juste fenêtre.Location.Location ();


3 Réponses :


0
votes

au lieu de emplacement.reload () Vous pouvez essayer (code prélevé dans une autre solution en ligne) xxx

Considérant également que vous exécutez le même code si < Code> alerte === true et si ce n'est pas vrai, je me débarrasserais simplement de l'if / sinon et de lancer le code directement (si c'est ce que vous avez l'intention de faire)


0 commentaires

0
votes

document.location.rarofoad (true); sera OK pour Google Chrome, vous pouvez vérifier le Fiddle exemple ici.

Vous avez d'autres alternatives également

  1. SETTimeOut (fonction () {window.localisation.rarod ();});

  2. fenêtre.location.rarod ();

    une note courte: xxx

    Indépendamment du résultat Vous faites la même opération ici, vous pouvez donc simplifier le code comme ci-dessous. Le si sinon n'est pas du tout nécessaire là-bas. xxx


0 commentaires

0
votes

Il devrait être

window.location.reload(false);


0 commentaires