link
标签的 href 属性为空,或 script
、img
、iframe
标签的 src 属性为空时,浏览器在渲染的过程中仍会将 href 属性或 src 属性中的空内容进行加载,直至加载失败,这样就阻塞了页面中其他资源的下载进程,而且最终加载到的内容是无效的,因此要尽量避免// 不推荐
<img src="" alt="photo">
<a href="">点击链接</a>
<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta http-equiv="Expires" content="Mon, 20 Jul 2016 23:00:00 GMT" />
<meta http-equiv="last-modified" content="Mon, 03 Oct 2016 17:45:57 GMT" />
例如同一个域名 CDN 服务器上的 a.js,b.js,c.js 就可以按如下方式在一个请求中下载:
<script src="//cdn.domain.com/path/a.js,b.js,c.js"></script>
$.ajax({
url: url,
type: 'get',
cache: true, // 推荐使用缓存
data: {},
success() {
// ....
},
error() {
// ...
}
});
$.ajax({
url: url,
type: 'get', // 推荐使用 get 完成请求
data: {},
success() {
// ....
},
error() {
// ...
}
});
例如:
<script src="main.js" defer></script>
<script src="main.js" async></script>
使用 async 时,加载和渲染后续文档元素的过程和 main.js 的加载与执行是并行的。使用 defer 时,加载后续文档元素的过程和 main.js 的加载是并行的,但是 main.js 的执行要在页面所有元素解析完成之后才开始执行。
// 不推荐
.opacity {
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);
}