html文件的script标签用法

来源:互联网 发布:手机足球关注软件 编辑:程序博客网 时间:2024/04/30 13:34
1.打开login.html文件做一些改动,Atom报错:Uncaught TypeError: Cannot read property 'setScrollTop' of null, 百度之,有read 'id'报错,有set 'style',但是没有read 'setScrollTop'报错, 继续百度,发现getScrollTop()和setScrollTop()分别获取和设置匹配元素的滚动条的垂直位置,报错的意思是不能读取setScrollTop()空属性.Atom卡死重启,把login.html改回来,同样报错,不是文件的问题,此时Ubuntu16.04报错,重启之后再试试.
2.决定改回来,在github上拷贝之前的正确代码,粘贴,依然报错,卡死........
3.重新打开,Ctrl+z返回到第一次改动之前,此时Atom是自动保存的,不用手动保存,因此没有报错.

4.打开所有文件,都找不到setScrollTop()函数,不知所以,再尝试对login.HTML做改动,保存正常,一脸懵逼.....

5.无意发现login的script部分的JavaScript语句是写在head中,百度:如果把javascript放在head里的话,则先被解析,但这时候body还没有解析。(常规html结构都是head在前,body在后)如果head的js代码是需要传入一个参数(在body中调用该方法时,才会传入参数),并需调用该参数进行一系列的操作,那么这时候肯定就会报错,因为函数该参数未定义(undefined).依据这条结果,把js代码放入body末尾,再进行改动,完全没有问题.


总结:在写js代码的时候,特别是需要页面配合的时候(如按键操作,输入框等),一定要把js写在body末尾,防止出现各种未知错误.

项目链接:点击打开链接

0 0