1/** 2 * rhhz.js ---ä»å软件å端æä»¶jséå 3 * tools{ 4 * subTextMax:ææ¬å 容æé¿åº¦è®¾ç½®æªå, 5 * menuView:æç §é¡µé¢è®¾ç½®è¿è¡é¡µé¢èå对åºé«äº® 6 * } 7 * function{ 8 * hasChinese:夿å½åå¯¹è±¡ä¸æ¯å¦å å«ä¸æå符, 9 * trim:è§£å³IE 对jquery Trimæ¹æ³çå ¼å®¹æ§, 10 * startWith:夿å½å对象æ¯å¦ä»¥å符å¼å§, 11 * endWith:夿å符串æ¯å¦ä»¥åç¬¦ç»æ, 12 * getFileUrl:è·åæ¬å°èµæºæä»¶çè·¯å¾, 13 * preImg:é¢è§æ¬å°å¾ç, 14 * getUrlParam:è·åURLåæ°å表, 15 * getRefSupIndex:è·ååèæç®å¼ç¨ç´¢å¼, 16 * isNull:å¤æå¯¹è±¡æ¯å¦ä¸ºç©º, 17 * formatDateToEn:å°æ¥æè½¬æ¢æè±ææ ¼å¼ 2016-1-1 --> 01 Jan 2016 18 * GetRandomNum:è·åéæºæ° 19 * dateStr:è·åç½é¡µé¡¶é¨æ¾ç¤ºéè¦çæ¥æä¿¡æ¯ åæ°ï¼type 1:䏿 2è±æ 3è±æç®å ï¼ 2017-1-11 ææä¸; Wednesday, 11 January, 2017 ;Jan 20th, Wednesday 20 * shareTools(type,obj):åäº«å·¥å ·ï¼qzone,sina,weixin,renren,google+,facebook,linkedin,twitter 21 * } 22 * 23 * @version v1.0 24 * @date 2016-09-30 25 */ 26 27+function ($) { 28 //设置å符串æªåé»è®¤åæ° 29 var subTextDefaluts = { 30 add_title:true, //é»è®¤æªååè®¾ç½®å ¨å 容title 31 trim:true,//é»è®¤æªååå»é¤é¦å°¾ç©ºåæ¢è¡ï¼æè§æ²¡å¥ç¨ï¼åé¢èèåæ¶ 32 content_type:'html',//é»è®¤å¤çå 容为htmlæ ç¾ï¼å¦è®¾ç½®ä¸ºtext伿¸ é¤åææ ç¾ 33 keep_len:10//é»è®¤æªåä¿ç10个å符ï¼å»ºè®®éç¨é ç½®æ¹å¼æè 卿 ç¾ä¸è®¾ç½® 34 }; 35 36 //设置èåé«äº®é»è®¤åæ° 37 var menuDefaults = { 38 defaultPage:'index', //é»è®¤è·åä¸å°é¡µé¢ç´¢å¼ï¼è®¾ç½®ä¸ºé¦é¡µ 39 pageViewId:'pageViewId', //页é¢ç´¢å¼åå¼ID 40 hightLightTag:'li', //éè¦è®¾ç½®é«äº®çæ ç¾ 41 highLightClass:'current', //å½å页éä¸é«äº®class 42 pageRelAttr:'rel_page', //èåå表ä¸ç´¢å¼å±æ§æ è¯ 43 pageRelTag:'li span' //èåå表ä¸ç´¢å¼å弿 ç¾ï¼é»è®¤åtext().trim(),pageRelTagåpageRelAtträ¸éè¦åæ¶åå¨ 44 } 45 46 $.fn.subTextMax = function(options) { 47 var opts = $.extend({}, subTextDefaluts, options); 48 return this.each(function(){ 49 var keepindex = parseInt($(this).attr("keep_len") == undefined ? opts.keep_len : $(this).attr("keep_len"));//è¶ åºkeepå¼éè¦æªå 50 var contentHtml = $(this).html().replace(/ /ig, '').replace(/\s+/g, ' ').replace(/\t|\r|\n/g,"").replace('<sec> <b>','<sec><b>').replace(/<br[ ]*[/]{0,1}>/g,"<br/>").trim(); 51 var contentText = $(this).text().replace(/ /ig, '').replace(/\s+/g, ' ').replace(/\t|\r|\n/g,"").trim(); 52 if(contentText.length > keepindex){ 53 //妿éè¦ï¼å¯å titleï¼titleä¸ºå ¨é¨ææ¬å 容 54 if(opts.add_title){ 55 if($(this).attr("title")==''||$(this).attr("title") == undefined){ 56 $(this).attr("title",contentText); 57 } 58 } 59 contentText = contentText.substr(0,keepindex); 60 if(opts.content_type == 'text'){ 61 $(this).html(contentText + "..."); 62 }else{ 63 //对HTMLæ ç¾å 容è¿è¡æªåå为å个æ¥éª¤1åå¨åææ ç¾ 2æç §textè¿è¡æªå 3对æªååçtextè¿è¡æ ç¾æå ¥ 4è¡¥å ¨æªéåæ ç¾ 64 //1.å¤çåææ ç¾ 65 //è·åå½åå 容ä¸çå个æ ç¾åæå¨ä½ç½® 66 var rgx = /<[^<^>]+>/; //æ ç¾å¹é æ£å 67 var index = 0; 68 var tags = new Array(); 69 while(rgx.test(contentHtml)){ 70 var t = new Object(); 71 //æ ç¾åºç°çä½ç½® 72 t.index = index + contentHtml.search(rgx); 73 //æ ç¾å 容 74 t.tag = contentHtml.match(rgx).toString(); 75 //æ¯æ¬¡å¹é 第ä¸ä¸ªæ ç¾ï¼å¹é å®å 餿¤æ ç¾ï¼åæ¶ç´¢å¼ä½ç½®å å½åæ ç¾çé¿åº¦ 76 var len = contentHtml.search(/<[^<^>]+>/) + contentHtml.match(/<[^<^>]+>/)[0].length; 77 contentHtml = contentHtml.substr(len); 78 index += len; 79 tags.push(t); 80 } 81 //2.æªåtextå 容ï¼ä¸é¢å·²ç»æªåè¿äº 82 //3.å¡«å åææ ç¾ 83 if(tags.length > 0){ 84 $.each(tags,function(i,e){ 85 if(e.index > contentText.length){ 86 //妿å½åèç¹çå¼å§ä½ç½®å¤§äºå½åè¿åå符串çé¿åº¦åä¸åç»§ç»å¤æ 87 tags = tags.slice(0,i); 88 return false; 89 }else{ 90 //å°åææ ç¾æå ¥åä½ç½® 91 contentText = contentText.substr(0,e.index) + e.tag + contentText.substr(e.index,contentText.length); 92 } 93 }) 94 } 95 //4.éåæ ç¾
96 //è·åæªéåæ ç¾ï¼æ ç¾å¡«å æ¶ä¸éè¦å¡«å çæ ç¾é½è¢«sliceè¿æ»¤æäºï¼æä»¥å©ä¸ç齿¯å·²ç»å¨å 容ä¸çæ ç¾äºï¼éè¦è¿è¡å¤æéåå¤ç 97 var insertTags = new Array();//å·²æ£ç¡®æå ¥æ ç¾ 98 var uncloseTags = new Array();//æªéåæ ç¾ 99 if(tags.length > 0){ 100 $.each(tags,function(i,e){ 101 //å å°æææå ¥çæ ç¾æ¾å°æå ¥åæªéååè¡¨ä¸ 102 uncloseTags.push(e.tag); 103 insertTags.push(e.tag); 104 }) 105 $.each(insertTags,function(i,e){ 106 //èªéåæ ç¾ä¸éè¦è¡¥å ¨ï¼å é¤å¦<br/> 107 if(/<[^<^>^\/]+\/>/.test(e)){ 108 uncloseTags.splice($.inArray(e,uncloseTags),1); 109 return true; 110 } 111 //对左æ ç¾è¿è¡éå夿ï¼å¦æåæ¶åå¨ä¸ç»å·¦å³æ ç¾ï¼ååæ¶å é¤å³å¯ï¼ç±äºæç»çå é¤ï¼æä»¥ä¸ç¨èèå¤ä¸ª<div>对åºä¸ä¸ª</div>çæ åµï¼æä»¬åªéè¦æç §é¡ºåºè·åå°æªéåçå表å³å¯ 112 if(/<[^<^>^\/]+>/.test(e)){ 113 var tagClosed = ""; 114 if(e.indexOf(" ") > 0){ 115 tagClosed = "</" + e.substring(1, e.indexOf(" ")) + ">"; 116 }else{ 117 tagClosed = "</" + e.substring(1, e.length); 118 } 119 //åæ¶åå¨éåæ ç¾ 120 if($.inArray(tagClosed,uncloseTags) != -1){ 121 uncloseTags.splice($.inArray(e,uncloseTags),1); 122 uncloseTags.splice($.inArray(tagClosed,uncloseTags),1); 123 } 124 } 125 }) 126 } 127 //æ¤æ¶uncloseTagså·²ç»æ¯æªéåçæ ç¾åè¡¨äº 128 //çæéåæ ç¾ï¼æ ¹æ®æ ç¾åµå¥è§åï¼å³æ ç¾åå·¦æ ç¾å¯¹åºï¼å¦<div><p> -- </p></div>ï¼æä»¥å å°æªéåæ ç¾æ°ç»éåº 129 if(uncloseTags.length > 0){ 130 var closeTagStr = ""; 131 uncloseTags.reverse(); 132 $.each(uncloseTags,function(i,e){ 133 if(e.indexOf(" ") > 0){ 134 closeTagStr += "</" + e.substring(1, e.indexOf(" ")) + ">"; 135 }else{ 136 closeTagStr += "</" + e.substring(1, e.length); 137 } 138 }) 139 contentText += "..." + closeTagStr; 140 }else{ 141 contentText += "..."; 142 } 143 //æ¼æ¥å®æ 144 $(this).html(contentText); 145 } 146 147 } 148 }) 149 } 150}(jQuery); 151 152/** 153 * èªå®ä¹å符串ç»å°¾å¤å®æ¹æ³ï¼ä»¥sç»å°¾è¿åtrueï¼å¦åè¿åfalse 154 * @param s 155 * @return 156 */ 157String.prototype.endWith = function(s) { 158 if (s == null || s == "" || this.length == 0 || s.length > this.length) 159 return false; 160 if (this.substring(this.length - s.length) == s) 161 return true; 162 else 163 return false; 164 return true; 165} 166 167/** 168 * èªå®ä¹å符串å¼å§å¤å®æ¹æ³ï¼ä»¥så¼å§è¿åtrueï¼å¦åè¿åfalse 169 * @param s 170 * @return 171 */ 172String.prototype.startWith = function(s) { 173 if (s == null || s == "" || this.length == 0 || s.length > this.length) 174 return false; 175 if (this.substr(0, s.length) == s) 176 return true; 177 else 178 return false; 179 return true; 180} 181 182/** 183 * IEæµè§å¨å ¼å®¹jquery trimæ¹æ³ 184 * @return 185 */ 186String.prototype.trim=function(){ 187 return this.replace(/(^\s*)|(\s*$)/g, ""); 188} 189/** 190 * è·åå°åæ urlåæ° 191 * @param name 192 * @return 193 */ 194function getUrlParam(name){ 195 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 196 var r = window.location.search.substr(1).match(reg); 197 if(r!=null)return unescape(r[2]); return null; 198 //return $("#language").val(); 199} 200 201/** 202 * ä»åèæç®å¼ç¨ä¿¡æ¯ä¸æååèæç®ç´¢å¼ 203 * æ¯ææ ¼å¼"[1,3,5-8,11,13-18,19]" 204 * @param refSup 205 * @return 206 */ 207function getRefSupIndex(refSup){ 208 if(!isNull(refSup)){ 209 refSup = refSup.replace(/[\[|\]]/g, '').trim(); 210 var chars = ['~','â','â','ï¼','-','â','â']; 211 $.each(chars,function(ind,val){ 212 refSup = refSup.replace(val,'&'); 213 }); 214 var refIndexs = [] ; 215 $.each(refSup.split(","),function(i,e){ 216 if(isNaN(e)){ 217 var startEnd = e.split("&"); 218 var start = parseInt(startEnd[0]); 219 var end = parseInt(startEnd[1]); 220 for(var i = start ; i <= end ; i++){ 221 refIndexs.push(i); 222 } 223 }else{ 224 refIndexs.push(e); 225 } 226 }) 227 //alert(refIndexs); 228 return refIndexs; 229 } 230 return null; 231} 232 233/** 234 * å°è£ å¤æå¯¹è±¡ä¸ºç©ºæ¹æ³ 235 * @param object 236 * @return 237 */ 238function isNull(object){ 239 return typeof(object) == "undefined" || object == null || object == ""; 240} 241 242/** 243 * è·åéæºæ° 244 * @param Min 245 * @param Max 246 * @return 247 */ 248function GetRandomNum(Min,Max){ 249 var Range = Max - Min; 250 var Rand = Math.random(); 251 return(Min + Math.round(Rand * Range)); 252} 253 254/** 255 * è·åç½é¡µé¡¶é¨æ¾ç¤ºéè¦çæ¥æä¿¡æ¯ 256 * @param type 1:䏿 2è±æ 3è±æç®å 257 * 2017-1-11 ææä¸ 258 * Wednesday, 11 January, 2017 259 * Jan 20th, Wednesday 260 * @return 261 */ 262function dateStr(type){ 263 var date = new Date(); 264 return parseInt(type) == 1 ? 265 formatDate(date,type) + " "+ getTodayWeek(type) : 266 getTodayWeek(type) + ", " +formatDate(date,type) ; 267} 268 269 270/** 271 * å°æ¥ææ ¼å¼åæè±ææ ¼å¼ 272 * 2017-1-11 273 * 11 January, 2017 274 * Jan 11, 2017 275 * @param date 276 * */ 277function formatDate(date,type){ 278 if(!isNull(date)){ 279 var dateStr = JSON.stringify(date).substring(1,11); 280 var dateVal = dateStr.split("-");
281 var month = dateVal[1]; 282 if(month.charAt(0)== 0){month = month.charAt(1);} 283 var monthArray = new Array 284 ("January","February","March","April","May","June","July","August", 285 "September","October","November","December"); 286 var monthArraySimple = new Array 287 ("Jan","Feb","Mar","Apr","May","June","July","Aug", 288 "Sep","Oct","Nov","Dec"); 289 switch (type) { 290 case 1 : 291 return dateStr; 292 case 2 : 293 return dateVal[2]+" "+monthArray[month-1]+", "+dateVal[0]; 294 case 3 : 295 return monthArraySimple[month-1]+" "+dateVal[2]+", "+dateVal[0]; 296 } 297 } 298} 299 300/** 301 * è·åææå 302 * @param type 1:䏿 2è±æ 3è±æç®å 303 * @return 304 */ 305function getTodayWeek(type){ 306 var chinese = new Array("æææ¥", "ææä¸", "ææäº", "ææä¸", "ææå", "ææäº", "ææå "); 307 var english = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); 308 var englishSigle = new Array("Sun.","Mon.", "Tues.", "Wed.", "Thur.", "Fri.", "Sat."); 309 var week = new Date().getDay(); 310 switch (type) { 311 case 1 : 312 return chinese[week];
313 case 2 : 314 return english[week]; 315 case 3 : 316 return englishSigle[week]; 317 } 318} 319 320/** 321 * åäº«å·¥å ·æ¹æ³ 322 * @param type 323 * @return 324 */ 325function shareTools(type,obj){ 326 var url = window.location; 327 var title = $("title").text(); 328 var description = $("meta[name='abstract']").attr("content") || $("meta[name='description']").attr("content") || $("meta[name='dc.description']").attr("content") || $("meta[http-equiv='description']").attr("content"); 329 var shareUrl = ""; 330 switch (type) 331 { 332 case 'qzone': 333 shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+url+"&title="+title; 334 break; 335 case 'sina': 336 shareUrl = "http://service.weibo.com/share/share.php?title="+title+"&url="+url+"&pic="; 337 break; 338 case 'weixin': 339 shareUrl = local_host + "util/QrcodeServlet?url="+url; 340 break; 341 case 'renren': 342 shareUrl = "http://widget.renren.com/dialog/share?resourceUrl="+url+"&srcUrl="+url+"&title="+title+"&pic=&description="+description; 343 break; 344 case 'google+': 345 shareUrl = "https://plus.google.com/share?url="+url+"&t="+title; 346 break; 347 case 'facebook': 348 shareUrl = "http://www.facebook.com/sharer.php?s=100&p[title]="+title+"&p[summary]="+description+"&p[url]="+url+"&p[images]="; 349 break; 350 case 'linkedin': 351 shareUrl = "http://www.linkedin.com/shareArticle?armin=armin&ro=true&mini=true&url="+url+"&source=&title="+title+"&summary="+description; 352 break; 353 case 'twitter': 354 shareUrl = "https://twitter.com/intent/tweet?text="+title+"&url="+url; 355 break; 356 default: 357 shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+url+"&title="+title; 358 break; 359 } 360 if("weixin" == type){ 361 $(".weixinQrcode").attr("src",shareUrl); 362 }else{ 363 window.open(shareUrl, "_blank"); 364 } 365} 366function closeWeiXinBox(obj){ 367 $(obj).parent().hide(); 368}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.