我必须为我的课程开发一个简短的脚本,一个报价生成器,并遇到一个奇怪的问题。该脚本可在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一起使用,并从哪里了解这个我不明白的问题。
答案 0 :(得分:1)
您的脚本似乎运行良好。在Chrome开发工具中经过测试,可以正常工作。经过测试,没有开发工具(正是您提供的示例),并且可以正常工作。开发人员工具最讨厌的是“未捕获的SyntaxError:无效或意外的令牌”,因为extra
(第2行)之后有换行符,但是我认为这是因为StackOverflow的格式吗?