而且并没有进行(window.onload())加载。
如果你把你这些代码包含在onload中,就好了。
原理是:
首先网页接你所编写的代码顺序依次加载,当然有时候也会由于网络原因导致加载成功的顺序有所不同,但基本不会相差太多。
它先加载了你的vote[0],然后这个vote[0]所指向的DOM(也就是你说的DIV)却没有被加载并解析,浏览器这时候还不认识这个vote[0]是个什么东西。
所以,这个时候浏览器会报错这行代码,如果你使用浏览器的F12功能键打开调试器,应该可以看到报错信息。
如果你希望让这段代码加载时直接运行,要考虑执行顺序的问题,要么onload再执行,要么把它放到HTML后面去。
而为什么alert之后就好用了呢?因为alert执行的时候,在等待用户确认的这个过程中,程序是被阻断的,不会向下执行,但是页面的加载过程却不中止,这就相当于页面加载并解析的时间,被alert给留下来了,如果用户的手快,而网络速度很慢的话,同样也会报错,并不执行。
————
以上。
引用链接,加载js超时需要修改配数。brrequireJs的加载是一种异步机制,它加载js的时候有个默认的超时机制,因为网络原因或者资源找不到等原因引起的。
可以修改配置参数waitSeconds默认为7秒,可以设置为0表示永远不超时,或者大一点的数字,一般情况加载超时是静态资源过大造成或者是加载网络资源阻断。
不显示,只能是微信小程序,平时在web应用开发过程中,我们可以console.log去输出一些信息,但是在移动端,console.log的信息我们是看不到的。这种情况下,可以选择使用alert弹出一些信息,但是这种方法不怎么方便,也会阻断JS线程,导致后面的线程都不执行。也影响调试体验。
因此,我们需要借助第三方插件:vConsole。
第一种用法:引入js文件
<script src="path/to/vconsole.min.js"></script>
<script>
console.log("test")
</script>
第二种用法:npm命令
1、安装
npm install vconsole
2、在main.js引入
import Vconsole from 'vconsole'
let vConsole = new VConsole()
3、在需要的地方
console.log(内容)