解析以下代码if$img_box lilength 1 var picture = ; forvar i = 0; i $img_box lilength-1; i++ var pic = 0;
这段代码的作用是,如果页面上有超过1个img_box li元素,则将它们的图片转换为blob格式,并将blob对象存储在picture数组中,最后将picture数组赋值给filename变量。
具体解析如下:
-
判断页面上是否有超过1个img_box li元素,如果存在则进入if语句中。
-
创建一个空数组picture,用于存储转换后的blob对象。
-
使用for循环遍历除最后一个li元素以外的所有img_box li元素。
-
在循环中,首先将pic变量赋值为当前li元素下img标签的src属性值。
-
然后使用dataURLtoBlob函数将pic的base64编码转换为blob对象,并将转换后的blob对象存储在blob变量中。
-
将blob对象存储在picture数组中。
-
最后将picture数组赋值给filename变量。
需要注意的是,这段代码中使用了一个dataURLtoBlob函数,该函数的作用是将base64编码的图片数据转换为blob对象。具体实现可以参考下面的代码:
function dataURLtoBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {type:mime});
原文地址: http://www.cveoy.top/t/topic/cZxF 著作权归作者所有。请勿转载和采集!