KISSY.add("'gallery/form/1.3/uploader/plugins/imagePreview/imagePreview'",function(S){ //²ßÂÔ var Mod; !function(){ var types={}; Mod={ add : function(type,obj){ if(!types[type]){ types[type] = obj; types[type].type = type; } else { S.mix(types[type],obj); types[type].type = type; } }, use : function(type){ return S.mix(types['default'],types[type]); } } }(); //ÆÕͨ Mod.add("default",{ //»ñȡͼƬ£¬Êý¾Ý£¨html5£©»òÎļþÃû¡£¹ýÂË·ÇͼƬÊý¾Ý£¨»ò·ÇͼƬÎļþÃûºó׺£© getData:function(fileDom){ return [fileDom.value]; }, // @fileData ÎļþÃû»òÎļþ¶ÔÏñ // @img ÏÔʾͼƬDOM show:function(fileData,onshow){ var self = this; var img = new Image(); img.src = fileData; //²»»á½ø·Çie6µÄ£¬µ«Ï°¹ß·Ö±ð´¦Àí if (document.all) { img.onreadystatechange = function () { if (img.readyState == "loaded" || img.readyState == 'complete') { onshow(img,self.type); img.onreadystatechange = null; } } img.onreadystatechange(); } else { img.onload = function () { onshow(img,self.type); img.onload = null; } } } }); //html5 Mod.add("html5",{ getData:function(fileDom){ var img = []; for(var i = 0; i= 0){ img.push(fileDom.files[i]); } } return img; }, // @fileData ÎļþÃû»òÎļþ¶ÔÏñ // @img ÏÔʾͼƬDOM show:function(fileData,onshow){ var img = new Image(); if (window.URL && window.URL.createObjectURL) { //FF4+ img.src = window.URL.createObjectURL(fileData); } else if (window.webkitURL&&window.webkitURL.createObjectURL) { //Chrome8+ img.src = window.webkitURL.createObjectURL(fileData); } else { //ʵÀý»¯file reader¶ÔÏó var reader = new FileReader(); reader.onload = function(e) { img.src = e.target.result; } reader.readAsDataURL(fileData); } //ûÓÐʹÓÃÔ¤ÔØ¡£¸ß¿í²»¿ÉÐС£¡£Ëõ·ÅÓÃCSS onshow(img,this.type); } }); //filter Mod.add("filter",{ getData:function(fileDom){ fileDom.select(); try{ return [document.selection.createRange().text]; } finally { document.selection.empty(); } return []; }, show:function(fileData,onshow){ //TODO ÏȲ»¿¼ÂÇ Ð¡Í¼±ê var TRANSPARENT = S.UA.ie==6 || S.UA.ie == 7 ? "http://img04.taobaocdn.com/tps/i4/T1Ao_pXfVpXXc6Yc2r-1-1.gif" : "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="; if ( !this._preload ) { var preload = this._preload = document.createElement("div"); //Òþ²Ø²¢ÉèÖÃÂ˾µ S.DOM.css(preload, { width: "1px", height: "1px", visibility: "hidden", position: "absolute", left: "-9999px", top: "-9999px", filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image')" }); //²åÈëbody var body = document.body; body.insertBefore( preload, body.childNodes[0] ); } var img = new Image(), preload = this._preload, data = fileData.replace(/[)'"%]/g, function(s){ return escape(escape(s)); }); try{ preload.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = data; }catch(e){ return; } //ÉèÖÃÂ˾µ²¢ÏÔʾ img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src=\"" + data + "\")"; img.style.width = preload.offsetWidth; img.style.height = preload.offsetHeight; img.src = TRANSPARENT; //´«µÝÕæÊµ¸ß¿í img.width = preload.offsetWidth; img.height = preload.offsetHeight; onshow(img,this.type,preload.offsetWidth,preload.offsetHeight); } }); //filename Mod.add("filename",{ getData:function(fileDom){ var filenames = []; if(fileDom.files){ for(var i=0;i