Мне нужно разработать короткий скрипт, генератор цитат для моего курса и столкнуться со странной проблемой. Сценарий хорошо работает с Firefox, но для корректной работы с Chrome требуется обновление страницы.
Я уже пытался включить весь мой код в функцию, вызываемую с помощью window.onload, но это ничего не изменило.
Я также попытался поместить тег script в конец html-файла, и также ничего не изменилось, но проблема остается.
HTML код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-compatible" content="IE-edge">
<meta name="viewport" content="width=device-width, initial-scale-1">
<script type="text/javascript" src="script.js"></script>
<title>Citations pour héros et héroïnes</title>
</head>
<body>
</body>
</html>
JS код:
// Tableaux de données
const firstSFArray = ["Je suis", "Je serais", "J'ai été"];
const secondSFArray = ["un pilote", "un aventurier", "un explorateur", "un
agent", "un chercheur", "un colon"];
const thirdSFArray = ["de Vénus", "de Mars", "d'Alpha Centauri", "des tréfonds de la Galaxie", "du Néant"];
const firstFanArray = ["Je suis", "Je serais", "J'ai été"];
const secondFanArray = ["un marchand", "un guerrier", "un barbare", "un
sorcier", "un élémentaire", "un voleur"];
const thirdFanArray = ["d'Hyrule", "de Cimmérie", "des Terres du Milieu", "de Poudlard", "du Pandémonium", "de l'Autre Monde"];
// Génération de la citation
let result;
function generator(array1, array2, array3) {
const random1 = array1[Math.floor(Math.random() * array1.length)];
const random2 = array2[Math.floor(Math.random() * array2.length)];
const random3 = array3[Math.floor(Math.random() * array3.length)];
result = random1 + " " + random2 + " " + random3;
}
// Question à l'utilisateur
while (true) {
const firstQuestion = prompt("Une nouvelle citation O/N ?").toLowerCase();
if (firstQuestion === 'o') {
const secondQuestion = parseFloat(prompt('Combien de citations souhaitez-vous (1 à 5) ?', "1"));
if (secondQuestion <= 5) {
const thirdQuestion = prompt("Univers Science-Fiction (S) ou Fantastique (F) ?").toLowerCase();
if (thirdQuestion === 'science-fiction' || thirdQuestion === 's') {
for (let x = 0; x < secondQuestion; x++) {
generator(firstSFArray, secondSFArray, thirdSFArray);
const quote = result;
console.log(quote);
}
} else if (thirdQuestion === 'fantastique' || thirdQuestion === 'f') {
for (let x = 0; x < secondQuestion; x++) {
generator(firstFanArray, secondFanArray, thirdFanArray);
const quote = result;
console.log(quote);
}
}
}
} else if (firstQuestion === 'n') {
break;
}
}
Заставьте скрипт работать с Chrome и узнайте, откуда возникает эта проблема, которую я не понимаю.