我有一个简单的Javascript函数,可以放在HTML文档中的任何位置。所以我把它放在收盘的正下方,例如:


 < html>
< body>
一些文字。& #xA;<脚本>
 document.getElementsByTagName( '主体')[0] .innerHTML = '你好';
< /脚本>
< / BODY>&#XA ;< / html>



 我的问题是 - 是否有意义(从页面加载速度的角度来看)加载此脚本通过addEventListener(“load”)函数代替? IE浏览器。如果我在下面使用此代码 - 这将是首选?我知道当Javascript位于页面底部时,它不会“阻止”页面渲染,所以使用addEventListener可能只会减慢执行速度吗?


 < html>
< body>
一些文字。
< script>
 window.addEventListener(“load”,function()
 { document.getElementsByTagName( '主体')[0] .innerHTML = '你好';}
假);
< /脚本>
< / BODY>
&LT ; / HTML>
 代码>


答案 0 :(得分:2)
脚本通常不应该直接放在HTML中,因为它们阻止进一步HTML解析,直到它们被执行。虽然如果你只有一个脚本不成问题,如果你有两个,三个或更多,以及其中一些可能需要多于几个ms来解析呢?
尽管如此,假设阻塞不是一个问题,从用户体验的角度来看,在方式或其他方面没有真正的区别。
脚本是有关如何与内容进行交互的信息,但实际上并不是自己的内容,属于<head>
IMO。如果您不想在load
侦听器中包装所有内容,则可以使用defer
属性在解析整个HTML后自动运行脚本:<script src="..." defer>
。