Edit D:\AVA\AVAStandard\AVA.ResourcesPlatform.WebUI\CSS\zh-CN\DefaultTheme\js\waterfall\masnunit.js
/* @?????????? Woo unit ??????????????????????????????????????oo ???????? @???????? ????????rtTemplate ???html ???????????????CDC ???????????????????? ?????????????????rtTemplate ???????????????????? https://github.com/aui/artTemplate */ //#################################################################### // ??????????? ??????????? "abc".cut(1) /** * ???????????? * @return {String} ??????????????? */ if(!String.prototype.lenB){ String.prototype.lenB = function(){ return this.replace(/[^\x00-\xff]/g,"**").length; } } /** * ??????????????? * @param {String} o string??? * @param {Number} n ?????? * @return {String} ??????????? */ if(!String.prototype.leftB){ String.prototype.leftB = function(n){ var s = this, s2 = s.slice(0, n), i = s2.replace(/[^\x00-\xff]/g, "**").length; if (i <= n) { return s2; } i -= s2.length; switch (i) { case 0: return s2; case n: return s.slice(0, n >> 1); default: var k = n - i, s3 = s.slice(k, n), j = s3.replace(/[\x00-\xff]/g, "").length; return j ? s.slice(0, k) + s3.leftB(j) : s.slice(0, k); } } } /** * ???????????????????????????????'...' * @???: leftB ??? * @param {String} s string??? * @param {Number} n ?????? * @param {String} a ??????????????????'...' * @param {Bool} b ????????????true ????? false(???) ????? * @return {String} ?????????????? */ if(!String.prototype.cut){ String.prototype.cut = function(n, a, b){ var s = this; r = b ? s.substr(0, n) : s.leftB(n); return r == s ? r : r + (typeof a === 'undefined' ? '??' : a); } } ;(function (){ if( !$.Woo ){ return } var ua = navigator.userAgent.toString().toLowerCase(), ipad = !!ua.match(/ipad/ig), // ?????? srcd ???<img /> ??rc ????????????????? // ipad ????????????? bug SRCD = !ipad, // (function???) ?????????????????????????? ANALYZERESPONSE = [], // (function???) ???artTemplate ?????? RENDER = [], // (template???) ???????????emplate TEMPLATES = [], // (extra??????) ANALYZERESPONSE ???????? extra ????? RENDER ?????? EXTRADATA = []; /* ANALYZERESPONSE RENDER TEMPLATES EXTRADATA ?????????????????????????????(???????????????????????) ?????????????????? .woo-pcont ?????? data-wootemp="1" ??? */ //#################################################################### TEMPLATES = [ '<li class="well well-no-padding"> \ <div class="vediodiv"> \ <a href="<%= u.video.href %>" title="<%= u.video.name %>" target="_blank"><img <%=srcd ? "srcd" : "src"%>="<%=u.isrc%>" title="<%= u.video.name %>" onerror="try{this.src="http://localhost:29519/CSS/zh-CN/DefaultTheme/DefaultImg.png"}catch(ex){};" style="width:214px;height:120px;"></a> \ </div> \ <div class="clear"></div> \ <p class="ttle"> \ <a href="http://localhost:29519/subjectview_d0b69e8942394b0083bb154fa4865a97.html" title="<%= u.video.name %>" target="_blank"><%= u.video.name %></a> \ <span class="info_user"> \ <a href="<%= u.user.href %>" ><%= u.user %></a> \ </span> \ </p> \ <ul class="baseinfo"> \ <li class="statinfo"> \ <div class="state"> \ <dl class="view_times" title="?????"><dd class="icon"></dd><dt class="num"><%= u.browser_count %></dt></dl> \ <dl class="comments" title="???"><dd class="icon"></dd><dt class="num"><%= u.comment_count %></dt></dl> \ </div> \ </li> \ </ul> \ </li>' ,null, null ], //#################################################################### RENDER = [ function (arr){ if( arr && arr.length && $.isPlainObject(arr[0]) ){ // ?????????arr ??ic??????????? // ?????{},{}] var dat = EXTRADATA[0], data = { list : arr, srcd : SRCD, // ???????? srcd hasrp : dat.hasrp // ????????????????? }, render = template.compile(TEMPLATES[0]), html = $.trim(render(data)); // ????????? html ??????????? $() ??? return html }else{ // ????? dom ?? [<jQuery???>] ????????????????? $() ??? return arr } }, null, null ], //#################################################################### // ???????????????????????? // ???????? artTemplate ???????¤???? html ????? // ??????????? + ????????? // ??????????????? ret = [cont,hasnext,totalcount] ???????????otalcount ???? // ret[0]=cont ????????(??????????????)?????????dom??(??????????????) // data-wootemp is set on the Node <div class="woo-pcont woo-masned my-album" data-wootemp="1" > ????????? ANALYZERESPONSE[1] ANALYZERESPONSE = [ // ANALYZERESPONSE[0] ???????????????return ???????? ret[0] ????? // ?????????????? RENDER TEMPLATES EXTRADATA // ????? RENDER[0] TEMPLATES[0] ??????? // EXTRADATA ???????????????????????? // repsonse data h: // {"data":{"blogs":[${unit},...,${unit}],"has_next":true},"success":true} // see more here : https://github.com/duitang/waterfall/issues/6 // ret = [cont,hasnext,totalcount] cont,hasnext are necessary while totalcount is optional function (h) { typeof DEBUG !== 'undefined' && DEBUG && (h = DEBUG_DATA); var strrt = _strReturn(h); if( strrt ){ return strrt; } var ret = [[],true]; // ??son??? try{ var jsn = $.isPlainObject(h) ? h : $.parseJSON(h) }catch(e){ console.log(e) // ???parse ?????????????????? ret; return ret; } // ???jsn ??????????????? if(jsn.success){ var dat = jsn.data, undefined; EXTRADATA[0] = { "hasrp" : !!dat.hasrp // ????????????????? } ret = [ dat.blogs, dat.has_next, dat.totalcount ] } return ret; }, // ANALYZERESPONSE[1] ???????????????return ???????? ret[0] ??om ?? // ??????????????????????? artTemplate // ?????ENDER TEMPLATES EXTRADATA (?????????RENDER???)??????? // RENDER[1] ??? null???????? TEMPLATES[1] ????? null // EXTRADATA ???????????????????????? // repsonse data h: // {"data":{"albums":[${unit},...,${unit}],"has_next":true,"totalcount":8907},"success":true} // see more here : https://github.com/duitang/waterfall/issues/6 // data.totalcount is optional for totalcount returned in ret // ret = [cont,hasnext,totalcount] cont,hasnext are necessary while totalcount is optional function (h){ typeof DEBUG !== 'undefined' && DEBUG && (h = {"data":{"totalcount":8907,"has_next":true,"albums":[/*?????*/]},"success":true},h.data.albums[23]=0); var strrt = _strReturn(h); if( strrt ){ return strrt; } var ret = [[],true]; // ??son??? try{ var jsn = $.isPlainObject(h) ? h : $.parseJSON(h) }catch(e){ console.log(e) // ???parse ?????????????????? ret; return ret; } // ???jsn ??????????????? if(jsn.success){ var $rt = $(null), dat = jsn.data; for(var i=0,d=dat.albums,l=d.length; i<l; i++){ var unt = [ '<div class="woo" data-ht="328"> <div class="albbigimg"> <p class="lev2"></p> <p class="lev1"></p> <a class="lev0" href="http://www.duitang.com/topics/" target="_blank" ><img src="http://cdn.duitang.com/uploads/item/201208/07/20120807235954_URvcE.thumb.200_200_c.jpeg" alt="????? ."></a> <p class="lev3"></p> <div>????? .</div> </div> <ul> <li><span>3736????? | 103?????</span></li> <li class="clr"><a href="http://www.duitang.com/topics/" target="_blank" ><img src="http://cdn.duitang.com/uploads/people/201309/15/20130915021315_kyMMu.thumb.24_24_c.jpeg" />?????????????</a></li> <li>?????.</li> </ul> </div>' ].join('') $rt = $rt.add($(unt)) } ret = [$rt.toArray(),dat.has_next] } return ret; }, // ANALYZERESPONSE[2] ???????????????return ???????? ret[0] ??om ?? // ??????????????????????? artTemplate // ?????ENDER TEMPLATES EXTRADATA (?????????RENDER???)??????? // RENDER[2] ??? null???????? TEMPLATES[2] ????? null // EXTRADATA ???????????????????????? function (h){ var strrt = _strReturn(h); if( strrt ){ return strrt; } var ret = [[],true]; // ??son??? try{ var jsn = $.isPlainObject(h) ? h : $.parseJSON(h) }catch(e){ console.log(e) // ???parse ?????????????????? ret; return ret; } // ???jsn ??????????????? if(jsn.success){ var $rt = $(null), dat = jsn.data, picw = 96; for(var i=0,d=dat.blogs,l=d.length; i<l; i++){ var pich = Math.round(d[i].iht * picw / 200), mask = d[i].iht > 800 ? '<div class="mask"></div>' : '', ht = mask ? 384 : pich unt = [ '<div class="woo" data-ht="'+ht+'"><div class="j" style="height:'+ht+'px;"><a href="http://m.duitang.com/people/mblog/'+d[i].id+'/detail/"><img srcd="'+d[i].isrc+'" width="96" /></a>'+mask+'</div></div>' ].join('') $rt = $rt.add($(unt)) } ret = [$rt.toArray(),dat.has_next] } return ret; } ]; // ?????????????????? html????????????????? function _strReturn(h){ var rt = $.trim(h), fw = rt.substr(0,1); if(fw != '{' && fw != '['){ if( rt.substr(0,9) === '<!doctype' ){ return [[],true]; } if( SRCD ){ rt = rt.replace(/(<img[^>]* class=[\'\"]?i[\'\"]?[^>\"\']*)src/ig,function (a,b){ return b + 'srcd' }) } var $rt = $(rt).filter('.woo'), hasnext = $rt.attr('hasnext') === 'False' ? false : true; return [$rt.toArray(),hasnext]; }else{ // ??????html ???null return null } } template.helper('$price', function (u,olnk) { return u.buylnk ? '<a class="dymprice bl dib '+(!u.price?'by':'')+'" href="'+olnk+'" target="_blank"><u class="_tb" title="?????">'+(u.price?'??'+u.price:' ')+'</u></a>' : '' }); template.helper('$outlnk', function (u) { var olnk = u.buylnk || ''; // ??????????????????????? return olnk }); template.helper('$cut', function (s,num) { return s.cut(num,'??') }); template.helper('$unit', function (id,jsn) { id += ''; var munits = WT.masnUnits; // here shows how to avoid repeated unit being added // remove "|| 1" if you want to do it if( !munits[id] || 1 ){ munits[id] = jsn, WT.ulen++, munits[id].indx = WT.ulen-1; return WT.ulen; }else{ // if id repeated, return 0, repeated unit will not be added return 0 } }); /* @?????$.Woo.WooTemp ?? */ var WT = (function (){ var WT = { ulen : 0, init : function (a,b){ WT.analyzeResponse = a, WT.render = b, // ?????????????????? WT.masnUnits = {}; }, reset : function (){ WT.ulen = 0, WT.masnUnits = {}; } } return WT; })() WT.init(ANALYZERESPONSE,RENDER); $.Woo.WooTemp = WT; })()
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de