IDB获取需要存储的所有图片
IDB获取需要存储的所有图片
var getPhotos = function( cb ){
var blobs = {}
,photoURLs = indexedDB_Config.photoURLs
,loadTimes = 0;
for( var i = 0; i < photoURLs.length; i++ ){
var xhr = new XMLHttpRequest()
,photoURL = photoURLs[i];
xhr.open( 'GET', photoURL, true );
// 設置请求的图片以blob类型数据格式返回
xhr.responseType = 'blob';
xhr.addEventListener( 'load', function ( photoURL, xhr ) {
// loadTimes用于统计请求图片的次数,当与配置图片路径数组的长度一致时,回调存储图片于IDB的操作
return function(){
if ( xhr.status === 200 ) {
// blob变量为 blob类型的图片对象
var blob = xhr.response;
loadTimes++;
blobs[photoURL] = blob;
}
else{
loadTimes++;
blobs[photoURL] = null;
console.log( '获取失败' );
}
if( loadTimes == photoURLs.length ){
//回调存储图片于IDB的操作
cb( blobs );
}
};
}( photoURL, xhr ), false);
xhr.send();
}
}
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5090.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
