为什么执行后页面刷新不了,不能刷新下重新执行?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>当点击“录入”按钮时,循环弹出输入框,使用户输入信息,直到用户输入-1,停止弹出输入框,然后将用户输入的信息输出在页面上。</title> </head> <body> <input type="button" value="录入"> <script> var Load=document.getElementsByTagName("input")[0]; var msgs=[],msg=""; Load.onclick=load; function load() { while(true){ msg=prompt("请输入员工信息,输入-1退出"); if (msg=='-1'){ for (var i=0;i<msgs.length;i++){ document.write("输入的第"+(i+1)+"个员工是"+msgs[i]+"<br />"); } break; } else { msgs.push(msg); } } } </script> </body> </html>
0
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕夭夭
2019-01-03 14:00:31
你好同学 , 结合你的第二条回复 , 同学可能是把刷新和不刷新的情况理解相反了 . 按照以下重新理解一下 :
因为弹窗是点击事件才会执行的 .所以当你刷新后 , 弹窗应该消失 , 再次点击才会出现 .这是正常的刷新情况.
而谷歌、360浏览器当你点按钮弹出弹窗 , 然后再刷新的时候 , 会一直弹如下这个弹窗 ,此时是不能刷新的 . 这个是因为代码中while循环在谷歌、360浏览器解析时 , 一直满足循环条件true , 会阻塞页面刷新 .
同学说的输入-1本身就不是在刷新页面,而是正常输入内容执行代码 ,自然会跳出循环 .
而火狐中解析是可以刷新页面的 ,当点击弹出弹窗后 , 刷新弹窗消失的 .相当于回到了你重新打开页面的时候 ,此时需要再次点击才能执行代码 . 这个情况才是正常刷新了页面 ,代码又重头开始执行了 .
.这些情况和浏览器自身机制有关 . 练习的效果实现了 . 代码是ok的 . 祝学习愉快 ,望采纳 .
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星