Cnode 网站 为什么把js引入放到head中?
发布于 9 年前 作者 ipengyo 3454 次浏览 最后一次编辑是 8 年前 来自 问答

不是放到body结尾上面,会尽快让dom渲染出来,不是更好一些吗?

8 回复

这个看情况的, 方在body后面的是对dom有依赖的内容,渲染完才能运行,用onload解决. 但是这样速度会慢下来.可以把不需要dom的文件用async方式下载.

@joesonw 嗯嗯,但是 那个script标签貌似是同步的吧 你是指在script 里面的js 在用异步去下js吗?

一楼说的通过ready事件订阅也可以解决的,那不是重点。

cnode页面的小,速度快,dom结构简单。你放在前面和后面不会有明显区别的。

来自酷炫的 CNodeMD

这个应该是历史原因留下的。。。按理说应该放 body 后面的

@klesh 放前面的话是要ready事件的(大部分是要操作dom的把)

@alsotang 第三库(例如jquery)放前面吧? 不然等所有dom加载完了才开始加载js,太慢了.

@joesonw 我觉得时间是一样的, 你想加载js是那点时间 加载dom是那点时间 放在前面 后面 都无法加快整体速度,但是有个区别,js放到后面 ,能先让dom渲染出来 ,然后用户就提前看到界面,从这点来说是好的。。

@ipengyo js可以用async, 这样可以一边下载,一边渲染dom. 这样会快一些,特别是针对SPA. 放在后面要等dom渲染完才开始下载.

回到顶部