你这种情况,如果我没有“猜”错,你的JS应该放在了HTML代码的前面。
而且并没有进行(windowonload())加载。
如果你把你这些代码包含在onload中,就好了。
原理是:
首先网页接你所编写的代码顺序依次加载,当然有时候也会由于网络原因导致加载成功的顺序有所不同,但基本不会相差太多。
它先加载了你的vote[0],然后这个vote[0]所指向的DOM(也就是你说的DIV)却没有被加载并解析,浏览器这时候还不认识这个vote[0]是个什么东西。
所以,这个时候浏览器会报错这行代码,如果你使用浏览器的F12功能键打开调试器,应该可以看到报错信息。
如果你希望让这段代码加载时直接运行,要考虑执行顺序的问题,要么onload再执行,要么把它放到HTML后面去。
而为什么alert之后就好用了呢?因为alert执行的时候,在等待用户确认的这个过程中,程序是被阻断的,不会向下执行,但是页面的加载过程却不中止,这就相当于页面加载并解析的时间,被alert给留下来了,如果用户的手快,而网络速度很慢的话,同样也会报错,并不执行。
————
以上。
给你个思路抛板砖引小玉,既然你提到服务器挂掉这种极端恶劣条件,因为服务器挂掉或者不响应自身是无从知晓的,所以只能靠第三方来判断,套路就是,客户端发个长连接或websocket连接到第三方页面,只要独立于目标服务器即可,可以同站,这个页面负责检查目标服务器是否可用,方法也有不少,如果websocket运用纯熟可以做到,简单点,ping也可以,或者服务器定时20秒写一次日志,检查日志是否中断,等等。如果发现服务器有故障就反馈回客户端跳转505页面
在 Javascript 中,当某些条件得到满足时,用 break 语句来中断一个循环的运行。(请注意,也用 break 语句退出一个 switch 块。参见 Javascript 条件语句)。如果是一个 for 或者 forin 循环,在更新计数器变量时使用 continue 语句越过余下的代码块而直接跳到循环的下一次重复中。
以上就是关于js的alert函数执行的时候其他js文件或者html文件会停止执行吗全部的内容,包括:js的alert函数执行的时候其他js文件或者html文件会停止执行吗、前端小白想问,js如何实现,服务器一断开,页面就提示505、在JavaScript中 for...in循环,使用continue;跳出语句,的运行方式。求说的简单一点。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)