Authored by htoooth

fix

... ... @@ -3,18 +3,15 @@ var reporter = require('./reporter');
var perfKey = '_perfLog';
var navigatorPerf = require('./perf/navigator'),
resourcePerf = require('./perf/resource'),
screenPerf = require('./perf/screen'),
var resourcePerf = require('./perf/resource'),
timingPerf = require('./perf/timing');
var perfReporter = {
init: function(debug) {
this.debug = debug;
this.dataList = [];
navigatorPerf.init(this.debug);
resourcePerf.init(this.debug);
screenPerf.init(this.debug);
timingPerf.init(this.debug);
this.report();
... ... @@ -22,27 +19,53 @@ var perfReporter = {
var self = this;
window.addEventListener && window.addEventListener('load', function() {
self.collect();
setTimeout(function() {
self.collect();
}, 0);
});
},
collect: function() {
var navPerfData = navigatorPerf.collect();
var screenPerfData = screenPerf.collect();
var timingPerfData = timingPerf.collect();
var resourcePerfData = resourcePerf.collect();
this.write(navPerfData);
this.write(screenPerfData);
this.write(timingPerfData);
this.write(resourcePerfData);
try {
var timingPerfData = timingPerf.collect();
var resourcePerfData = resourcePerf.collect();
this.chunk(timingPerfData);
for (var i = 0; i < resourcePerfData.length; i++) {
this.chunk(resourcePerfData[i]);
}
} catch(e) {
if (this.debug) {
console.log(e);
}
}
},
getMeta: function() {
return {
pt: encodeURIComponent(window.location.href), // url
ua: encodeURIComponent(navigator.userAgent), // useragent
u: reporter.getUid(), // uid
ud: reporter.getUdid(), // udid
rid: reporter.getReqId(), // reqId
r: reporter.getRoute() // server route
}
},
jsonConcat: function(object1, object2) {
for (var key in object2) {
object1[key] = object2[key];
}
return object1;
},
write: function(item) {
var perfList = JSON.parse(cookies(perfKey) || '[]');
perfList.push(item);
this.jsonConcat(item, this.getMeta());
perfList.push(item);
cookies(perfKey, JSON.stringify(perfList));
if (perfList.length >= 5) {
... ... @@ -64,8 +87,25 @@ var perfReporter = {
cookies(perfKey, '[]');
},
chunk: function(array, process) {
chunk: function(item) {
var self = this;
this.dataList.push(item);
function _write() {
if (self.dataList.length === 0) {
return
}
var data = self.dataList.shift();
self.write(data);
setTimeout(_write, 10)
}
setTimeout(function() {
_write();
}, 10)
}
};
... ...
var navigatorReporter = {
init: function(debug) {
this.enable = true;
this.debug = debug;
if ( !('navigator' in window)) {
this.enable = false;
return;
}
},
collect: function() {
if (!this.enable) {
return;
}
if (this.debug) {
this.print();
}
return this.getData();
},
getData: function() {
return {
tp: 'navigator',
pf: navigator.platform || 'unknown',
ua: navigator.userAgent || 'unknown'
}
},
print: function() {
var debug = document.getElementById("debug");
var output = this.formatDebugInfo();
if (!debug) {
var divTag = document.createElement("div");
divTag.id = "debug";
divTag.innerHTML = output;
document.body.appendChild(divTag);
} else {
debug.innerHTML += output;
}
},
formatDebugInfo: function() {
var debuginfo = "<p>";
debuginfo += "navigator object : " + JSON.stringify(this.getData(), null, 2) + "<br/>";
debuginfo += "</p>";
return debuginfo
},
};
module.exports = navigatorReporter;
\ No newline at end of file
... ... @@ -10,6 +10,8 @@ var resourceReporter = {
this.enable = false;
return;
}
this.whiteList = [/^https:\/\/img\d*.static.yhbimg.com/, /^https:\/\/cdn.yoho.cn/];
},
print: function() {
... ... @@ -30,13 +32,23 @@ var resourceReporter = {
var debuginfo = "<p>resource object: <br/>";
var data = this.getData();
for(var i = 0; i < data.length; i++) {
for (var i = 0; i < data.length; i++) {
debuginfo += JSON.stringify(data[i], null, 2) + "<br/>";
}
debuginfo += "</p>";
return debuginfo
},
filter: function(url) {
for (var i = 0; i < this.whiteList.length; i++) {
if (this.whiteList[i].test(url)) {
return true;
}
}
return false;
},
getData: function() {
var resources = window.performance.getEntriesByType('resource');
var resourceList = [];
... ... @@ -44,14 +56,19 @@ var resourceReporter = {
for (var obj in resources) {
var domObj = resources[obj];
if (!this.filter(domObj.name)) {
continue;
}
resourceList.push({
tp: 'timing',
dtp: domObj.initiatorType || 'unknown',
redirectTime: domObj.redirectEnd - domObj.redirectStart || 0,
cacheTime: domObj.domainLookupStart - domObj.fetchStart || 0,
dnsTime: domObj.domainLookupEnd - domObj.domainLookupStart || 0,
tcpTime: domObj.connectEnd - domObj.connectStart || 0,
roundtripTime: domObj.responseEnd - domObj.connectStart || 0
tp: 'resource', // 资源
dtp: domObj.entryType, // 资源
id: domObj.name || 'unknown',  // 资源 url
rtp: domObj.initiatorType || 'unknown', // 资源类型 img script
dt: Math.floor(domObj.domainLookupEnd - domObj.domainLookupStart || 0), // DNS 时间
tt: Math.floor(domObj.connectEnd - domObj.connectStart || 0), // tcp 时间
rt: Math.floor(domObj.responseEnd - domObj.responseStart || 0), // 下载 时间
rrt: Math.floor(domObj.responseEnd - domObj.fetchStart || 0) // 总时间
})
}
... ...
var screenReporter = {
init: function(debug) {
this.enable = true;
this.debug = debug;
if (!('screen' in window)) {
this.enable = false;
return;
}
},
collect: function() {
if (!this.enable) {
return;
}
if (this.debug) {
this.print();
}
return this.getData();
},
print: function() {
var debug = document.getElementById("debug");
var output = this.formatDebugInfo();
if (!debug) {
var divTag = document.createElement("div");
divTag.id = "debug";
divTag.innerHTML = output;
document.body.appendChild(divTag);
} else {
debug.innerHTML += output;
}
},
formatDebugInfo: function() {
var debuginfo = "<p>";
debuginfo += "screen object : " + JSON.stringify(this.getData(), null, 2) + "<br/>";
debuginfo += "</p>";
return debuginfo
},
getData: function() {
return {
tp: 'screen',
wd: screen.width || 1,
hg: screen.height || 1
};
}
};
module.exports = screenReporter;
var timingReporter = function() {
var _pTime = Date.now() - performance.timing.navigationStart || 0,
_redirTime = performance.timing.redirectEnd - performance.timing.redirectStart || 0,
_cacheTime = performance.timing.domainLookupStart - performance.timing.fetchStart || 0,
_dnsTime = performance.timing.domainLookupEnd - performance.timing.domainLookupStart || 0,
_tcpTime = performance.timing.connectEnd - performance.timing.connectStart || 0,
_roundtripTime = performance.timing.responseEnd - performance.timing.connectStart || 0,
_renderTime = Date.now() - performance.timing.domLoading || 0;
var _dnsTime = performance.timing.domainLookupEnd - (performance.timing.domainLookupStart || 0),
_tcpTime = performance.timing.connectEnd - (performance.timing.connectStart || 0),
_responseTime = performance.timing.responseEnd - (performance.timing.responseStart || 0),
_emptyScreenTime = performance.timing.responseStart - (performance.timing.navigationStart || 0),
_parseDomTime = performance.timing.domContentLoadedEventEnd - (performance.timing.domLoading || 0),
_domReadyTime = performance.timing.domContentLoadedEventEnd - (performance.timing.navigationStart || 0),
_roundtripTime = (performance.timing.loadEventEnd || performance.timing.domComplete) - (performance.timing.navigationStart || 0);
function getResults() {
return {
tp: 'timing',
dtp: 'html',
perceivedTime: _pTime,
redirectTime: _redirTime,
cacheTime: _cacheTime,
dnsLookupTime: _dnsTime,
tcpConnectionTime: _tcpTime,
roundTripTime: _roundtripTime,
pageRenderTime: _renderTime
dt: Math.floor(_dnsTime), // DNS 时间
tt: Math.floor(_tcpTime), // TCP 建立时间
rt: Math.floor(_responseTime), // request 建立时间 // 下载时间
domt: Math.floor(_parseDomTime), // 解析 dom 树时间
et: Math.floor(_emptyScreenTime), // 白屏时间,用户可见, start render
ot: Math.floor(_domReadyTime), // 用户可交互时间, start interact
rtt: Math.floor(_roundtripTime), // 总时间, start page load
wd: screen.width || 1, // 屏幕宽
hg: screen.height || 1, // 屏幕高
pf: navigator.platform || 'unknown' // 系统
};
}
... ...
... ... @@ -19,6 +19,322 @@
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="https://img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a >
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
</body>
<script>
... ...