今天用laydate结合yii2用,发现一个很不兼容的问题,360浏览器显示ok,谷歌需要重新打开页面才能正常显示,ie则不显示,比对官方demo,代码没有问题,经过测试发现原来是页面js代码放在了html标签的前面造成的,很少写前段,一直没注意这个问题,长记性了!
计算机读代码的顺序是从上往下读的,html文件中的顺序是<head>→<body>→body后方
javascript代码写在<head>里面:
由于这时候网页主体(body)还未加载,所以这里适合放一些不是立即执行的自定义函数,立即执行的语句则很可能会出错(视浏览器而定)
javascript代码写在<body>里面:
这里可以放函数也可以放立即执行的语句,但是如果需要和网页元素互动的(比如获取某个标签的值或者给某个标签赋值),Javascript代码务必在标签的后面
javascript代码写在<body>下面:
这时候整个网页已经加载完毕了,所以这里最适合放需要立即执行的命令,而自定义函数之类的则不适合。