JavaScript prompt() 在呈现内容之前触发
JavaScript prompt() firing before content is rendered
这是我第一次使用 prompt()。我已经按照老师给的规范完成了作业,但是我真的很生气提示()在后台内容被调用之前被调用(我什至使用window.onload = function() {blah};
但它仍然在内容之前被调用显示。
页面的link是http://homepage.cs.uiowa.edu/~csoultz/然后点击lab4
这不是一个大问题,更多的是我的好奇心。在过去的几个小时里,我一直在研究它,但一无所获。我不想再加载库,如果没有库就不可能,请告诉我。预先感谢您的帮助
这是代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Work Week Calculator</title>
<link rel="stylesheet" href="mySite.css">
<script>
function askquestion(question,answer){
var userAnswer = prompt(question.toString());
if(userAnswer!=null) return userAnswer.toLowerCase()===answer.toLowerCase();
};
</script>
</head>
<body>
<h1>A Simple Quiz</h1>
<p><output id="result"></output></p>
<script>
window.onload = function() {
var trivia=[["Which is the most widely spoken language in the world?","Mandarin"],
["The art of paper folding is known as what?","Origami"],
["Bubble tea originated in which country?","Taiwan"]
];
var correct=0;
var total=trivia.length;
for(i=0;i<trivia.length;i++){
if(askquestion(trivia[i][0],trivia[i][1])){
alert("Correct!");
correct++;
}
else{
alert("Sorry. The correct answer is "+trivia[i][1].toString());
}
}
var resultElement = document.getElementById("result");
resultElement.innerHTML = "You got "+correct.toString()+" out of "+total.toString()+" questions correct";
};
</script>
</body>
</html>
我能够将我的函数包装在超时值为 10 的 setTimeout 中,该问题已在 chrome 中修复。
window.onload = setTimeout(function() {
//Do Stuff Here
},10);
这是我第一次使用 prompt()。我已经按照老师给的规范完成了作业,但是我真的很生气提示()在后台内容被调用之前被调用(我什至使用window.onload = function() {blah};
但它仍然在内容之前被调用显示。
页面的link是http://homepage.cs.uiowa.edu/~csoultz/然后点击lab4
这不是一个大问题,更多的是我的好奇心。在过去的几个小时里,我一直在研究它,但一无所获。我不想再加载库,如果没有库就不可能,请告诉我。预先感谢您的帮助
这是代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Work Week Calculator</title>
<link rel="stylesheet" href="mySite.css">
<script>
function askquestion(question,answer){
var userAnswer = prompt(question.toString());
if(userAnswer!=null) return userAnswer.toLowerCase()===answer.toLowerCase();
};
</script>
</head>
<body>
<h1>A Simple Quiz</h1>
<p><output id="result"></output></p>
<script>
window.onload = function() {
var trivia=[["Which is the most widely spoken language in the world?","Mandarin"],
["The art of paper folding is known as what?","Origami"],
["Bubble tea originated in which country?","Taiwan"]
];
var correct=0;
var total=trivia.length;
for(i=0;i<trivia.length;i++){
if(askquestion(trivia[i][0],trivia[i][1])){
alert("Correct!");
correct++;
}
else{
alert("Sorry. The correct answer is "+trivia[i][1].toString());
}
}
var resultElement = document.getElementById("result");
resultElement.innerHTML = "You got "+correct.toString()+" out of "+total.toString()+" questions correct";
};
</script>
</body>
</html>
我能够将我的函数包装在超时值为 10 的 setTimeout 中,该问题已在 chrome 中修复。
window.onload = setTimeout(function() {
//Do Stuff Here
},10);