<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<ul class="slats">
<li data-src="http://pic002.cnblogs.com/images/2012/382256/2012080118323766.gif" class="group"></li>
<li data-src="http://pic002.cnblogs.com/images/2012/382256/2012080118323766.gif" class="group"></li>
</ul>
<script>
if (document.getElementsByClassName && typeof console !== 'undefined') { // ie8支持console
console.log(document.getElementsByClassName('group'))
}
if (document.querySelectorAll && typeof console !== 'undefined') {
console.log(document.querySelectorAll('.group'))
}
if (document.querySelector && typeof console !== 'undefined') {
console.log(document.querySelector('.group'))
} var Utils = {
q: function(query) {
if (document.querySelectorAll) { // ie8支持
var res = document.querySelectorAll(query)
} else {
var d = document
try {
var a = document.styleSheets[0] // ie8获取不到style报错
} catch(e) {
var a = d.createStyleSheet()
}
//var a = d.styleSheets[0] || d.createStyleSheet()
a.addRule(query, 'f:b')
for (var l = d.all, b = 0, c = [], f = l.length; b < f; b++) {
l[b].currentStyle.f && c.push(l[b])
}
a.removeRule(0)
var res = c
}
return res
}
}
var lazy = Utils.q('[data-src]')
for (var i = 0; i < lazy.length; i++) {
var source = lazy[i].getAttribute('data-src')
var img = new Image()
img.src = source
lazy[i].insertBefore(img, lazy[i].firstChild)
}
</script>
</body>
</html>
在媒介查询中声明背景图片。这样只有那些需要用到背景图片的才会发送请求加载它
目前,基于Webkit的浏览器在下载好Web字体之前,是不会显示使用该Web字体格式化的文本的。这就意味着如果用户使用的是一个连接速度很慢的设备时,需要花费一段时间来显示。所以我们可以将@font-face的声明也放到媒体查询中去。这样做可以确保那些屏幕宽度低于断点的设备不会尝试下载字体
与有线连接相比,移动网络正遭受着显著增加的延迟和显著减少的带宽。因此,在考虑站点在移动网络上的性能的时候,通过采用内联的样式表和脚本来减少请求数目会更有意义
var testImg = document.createElement('img')
testImg.onload = function() {
var endTime = (new Date()).getTime()
var duration = (endTime - startTime) / 1000
console.log(duration)
}
var startTime = (new Date()).getTime()
testImg.src = 'http://pic002.cnblogs.com/images/2012/382256/2012080118323766.gif'