前更稳。
defer而不是async,原因我慢慢解释。async是下载不阻塞HTML解析,但执行时会阻塞渲染defer是下载和执行都等到HTML解析完才进行async,当它下载完时会立即执行,这时候如果执行时间长就会卡住页面。改成这样就好:<script src="analytics.js" defer></script>crossorigin="anonymous"防止注入,像这样:<script src="analytics.js" defer crossorigin="anonymous"></script>deferasync(比如广告)deferdefer也会提示,但实际对首屏影响很小。
第三方统计脚本用
defer就行,会等到 HTML 解析完再执行,不阻塞首屏:如果页面顶部已经有其他阻塞脚本,把这个 defer 脚本放到底部