为什么执行后页面刷新不了,不能刷新下重新执行?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <!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 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧