无阻塞加载脚本分析[全]
由于浏览器是单线程的,因此脚本在载的时候会阻塞下载其它资源;虽然在现在浏览器已经有所改善,但仍然有待改进。 很显然,脚本必须按顺序执行,但没有必要按顺序下载,解决方法: 1。内嵌JS 通常由于页面大小和缓存能带来更多好处,因此外部文件引入JS更好一些; 在少数情况下,比如首页、少量JS情况下尚可接受。 2。XHR Eval 通过XMLHttpRequest从服务器端获取脚本。 主要缺陷是,通过XHR获取的脚本必须部署在和主页面相同的域中。 代码如下: Ajax.get(“test.js”, function (xhr) { eval(xhr.responseText); })
暂无评论