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 * copyToClipboard:ä¸é®å¤å¶, 16 * getRefSupIndex:è·ååèæç®å¼ç¨ç´¢å¼, 17 * isNull:å¤æå¯¹è±¡æ¯å¦ä¸ºç©º, 18 * formatDateToEn:å°æ¥æè½¬æ¢æè±ææ ¼å¼ 2016-1-1 --> 01 Jan 2016 19 * } 20 * 21 * @version v1.0 22 * @date 2016-09-30 23 */ 24 25+function ($) { 26 //设置å符串æªåé»è®¤åæ° 27 var subTextDefaluts = { 28 add_title:true, //é»è®¤æªååè®¾ç½®å ¨å 容title 29 trim:true,//é»è®¤æªååå»é¤é¦å°¾ç©ºåæ¢è¡ï¼æè§æ²¡å¥ç¨ï¼åé¢èèåæ¶ 30 content_type:'html',//é»è®¤å¤çå 容为htmlæ ç¾ï¼å¦è®¾ç½®ä¸ºtext伿¸ é¤åææ ç¾ 31 keep_len:10//é»è®¤æªåä¿ç10个å符ï¼å»ºè®®éç¨é ç½®æ¹å¼æè 卿 ç¾ä¸è®¾ç½® 32 }; 33 34 //设置èåé«äº®é»è®¤åæ° 35 var menuDefaults = { 36 defaultPage:'index', //é»è®¤è·åä¸å°é¡µé¢ç´¢å¼ï¼è®¾ç½®ä¸ºé¦é¡µ 37 pageViewId:'pageViewId', //页é¢ç´¢å¼åå¼ID 38 hightLightTag:'li', //éè¦è®¾ç½®é«äº®çæ ç¾ 39 highLightClass:'current', //å½å页éä¸é«äº®class 40 pageRelAttr:'rel_page', //èåå表ä¸ç´¢å¼å±æ§æ è¯ 41 pageRelTag:'li span' //èåå表ä¸ç´¢å¼å弿 ç¾ï¼é»è®¤åtext().trim(),pageRelTagåpageRelAtträ¸éè¦åæ¶åå¨ 42 } 43 44 $.fn.subTextMax = function(options) { 45 var opts = $.extend({}, subTextDefaluts, options); 46 return this.each(function(){ 47 var keepindex = parseInt($(this).attr("keep_len") == undefined ? opts.keep_len : $(this).attr("keep_len"));//è¶ åºkeepå¼éè¦æªå 48 var contentHtml = $(this).html().replace(/\t|\r|\n/g,"").replace(/<br[ ]*[/]{0,1}>/g,"<br/>").trim(); 49 var contentText = $(this).text().replace(/\t|\r|\n/g,"").trim(); 50 if(contentText.length > keepindex){ 51 //妿éè¦ï¼å¯å titleï¼titleä¸ºå ¨é¨ææ¬å 容 52 if(opts.add_title){ 53 if($(this).attr("title")==''||$(this).attr("title") == undefined){ 54 $(this).attr("title",contentText); 55 } 56 } 57 contentText = contentText.substr(0,keepindex); 58 if(opts.content_type == 'text'){ 59 $(this).html(contentText + "..."); 60 }else{ 61 //对HTMLæ ç¾å 容è¿è¡æªåå为å个æ¥éª¤1åå¨åææ ç¾ 2æç §textè¿è¡æªå 3对æªååçtextè¿è¡æ ç¾æå ¥ 4è¡¥å ¨æªéåæ ç¾ 62 //1.å¤çåææ ç¾ 63 //è·åå½åå 容ä¸çå个æ ç¾åæå¨ä½ç½® 64 var rgx = /<[^<^>]+>/; //æ ç¾å¹é æ£å 65 var index = 0; 66 var tags = new Array(); 67 while(rgx.test(contentHtml)){ 68 var t = new Object(); 69 //æ ç¾åºç°çä½ç½® 70 t.index = index + contentHtml.search(rgx); 71 //æ ç¾å 容 72 t.tag = contentHtml.match(rgx).toString(); 73 //æ¯æ¬¡å¹é 第ä¸ä¸ªæ ç¾ï¼å¹é å®å 餿¤æ ç¾ï¼åæ¶ç´¢å¼ä½ç½®å å½åæ ç¾çé¿åº¦ 74 var len = contentHtml.search(/<[^<^>]+>/) + contentHtml.match(/<[^<^>]+>/)[0].length; 75 contentHtml = contentHtml.substr(len); 76 index += len; 77 tags.push(t); 78 } 79 //2.æªåtextå 容ï¼ä¸é¢å·²ç»æªåè¿äº 80 //3.å¡«å åææ ç¾ 81 if(tags.length > 0){ 82 $.each(tags,function(i,e){ 83 if(e.index > contentText.length){ 84 //妿å½åèç¹çå¼å§ä½ç½®å¤§äºå½åè¿åå符串çé¿åº¦åä¸åç»§ç»å¤æ 85 tags = tags.slice(0,i); 86 return false; 87 }else{ 88 //å°åææ ç¾æå ¥åä½ç½® 89 contentText = contentText.substr(0,e.index) + e.tag + contentText.substr(e.index,contentText.length); 90 } 91 }) 92 } 93 //4.éåæ ç¾
94 //è·åæªéåæ ç¾ï¼æ ç¾å¡«å æ¶ä¸éè¦å¡«å çæ ç¾é½è¢«sliceè¿æ»¤æäºï¼æä»¥å©ä¸ç齿¯å·²ç»å¨å 容ä¸çæ ç¾äºï¼éè¦è¿è¡å¤æéåå¤ç 95 var insertTags = new Array();//å·²æ£ç¡®æå ¥æ ç¾ 96 var uncloseTags = new Array();//æªéåæ ç¾ 97 if(tags.length > 0){ 98 $.each(tags,function(i,e){ 99 //å å°æææå ¥çæ ç¾æ¾å°æå ¥åæªéååè¡¨ä¸ 100 uncloseTags.push(e.tag); 101 insertTags.push(e.tag); 102 }) 103 $.each(insertTags,function(i,e){ 104 //èªéåæ ç¾ä¸éè¦è¡¥å ¨ï¼å é¤å¦<br/> 105 if(/<[^<^>^\/]+\/>/.test(e)){ 106 uncloseTags.splice($.inArray(e,uncloseTags),1); 107 return true; 108 } 109 //对左æ ç¾è¿è¡éå夿ï¼å¦æåæ¶åå¨ä¸ç»å·¦å³æ ç¾ï¼ååæ¶å é¤å³å¯ï¼ç±äºæç»çå é¤ï¼æä»¥ä¸ç¨èèå¤ä¸ª<div>对åºä¸ä¸ª</div>çæ åµï¼æä»¬åªéè¦æç §é¡ºåºè·åå°æªéåçå表å³å¯ 110 if(/<[^<^>^\/]+>/.test(e)){ 111 var tagClosed = ""; 112 if(e.indexOf(" ") > 0){ 113 tagClosed = "</" + e.substring(1, e.indexOf(" ")) + ">"; 114 }else{ 115 tagClosed = "</" + e.substring(1, e.length); 116 } 117 //åæ¶åå¨éåæ ç¾ 118 if($.inArray(tagClosed,uncloseTags) != -1){ 119 uncloseTags.splice($.inArray(e,uncloseTags),1); 120 uncloseTags.splice($.inArray(tagClosed,uncloseTags),1); 121 } 122 } 123 }) 124 } 125 //æ¤æ¶uncloseTagså·²ç»æ¯æªéåçæ ç¾åè¡¨äº 126 //çæéåæ ç¾ï¼æ ¹æ®æ ç¾åµå¥è§åï¼å³æ ç¾åå·¦æ ç¾å¯¹åºï¼å¦<div><p> -- </p></div>ï¼æä»¥å å°æªéåæ ç¾æ°ç»éåº 127 if(uncloseTags.length > 0){ 128 var closeTagStr = ""; 129 uncloseTags.reverse(); 130 $.each(uncloseTags,function(i,e){ 131 if(e.indexOf(" ") > 0){ 132 closeTagStr += "</" + e.substring(1, e.indexOf(" ")) + ">"; 133 }else{ 134 closeTagStr += "</" + e.substring(1, e.length); 135 } 136 }) 137 contentText += "..." + closeTagStr; 138 }else{ 139 contentText += "..."; 140 } 141 //æ¼æ¥å®æ 142 $(this).html(contentText); 143 } 144 145 } 146 }) 147 } 148 149 150 $.fn.menuView = function (options){ 151 var opts = $.extend({}, menuDefaults, options); 152 return this.each(function(){ 153 var currentPageView = $("#"+opts.pageViewId).length > 0 ? $("#"+opts.pageViewId).val():opts.defaultPage; 154 var currentIndex = 0; 155 var flagTag ; 156 //妿åèç¹åå¨èåæå屿§åä¸èè仿 ç¾ä¸åå¼ 157 if($(this).find("["+opts.pageRelAttr+"]").length > 0){ 158 $(this).find("["+opts.pageRelAttr+"]").each(function(i,e){ 159 var relVal = $(e).attr(opts.pageRelAttr); 160 if(typeof(relVal) != "undefined" && relVal == currentPageView){ 161 currentIndex = i; 162 } 163 }) 164 }else{ 165 //å¦åä»åèç¹ä¸è·åå¼ 166 $(this).find(opts.pageRelTag).each(function(i,e){ 167 if($(e).text().trim() == currentPageView){ 168 currentIndex = i; 169 } 170 }) 171 } 172 if(isNull(flagTag)){ 173 $(this).find(opts.hightLightTag) 174 .eq(currentIndex) 175 .addClass(opts.highLightClass) 176 .siblings() 177 .removeClass(opts.highLightClass); 178 179 }else{ 180 var index = $(this).find(opts.pageRelTag).index($(flagTag)); 181 $(this).find(opts.hightLightTag).eq(index).addClass(opts.highLightClass) 182 .siblings() 183 .removeClass(opts.highLightClass); 184 } 185 }) 186 } 187}(jQuery); 188 189$(function(){if(typeof(htmlLoadSetting) != "undefined") ajaxLoadHtmlContent(htmlLoadSetting);}) 190 191/** 192 * ajaxå è½½éç¨é¡µé¢ 193 * @return 194 */ 195function ajaxLoadHtmlContent(htmlLoadSetting){ 196 $.each(htmlLoadSetting,function(i,e){ 197 $.ajax( { 198 url: e.htmlUrl, //è¿éæ¯éæé¡µçå°å 199 type: "GET", //éæé¡µç¨getæ¹æ³ï¼å¦åæå¡å¨ä¼æåº405é误 200 async:false, 201 success: function(data){ 202 $("#"+e.locationId).append(data); 203 }, 204 error: function(XMLHttpRequest, textStatus, errorThrown) { 205 console.info("----- submit search error ---"); 206 console.info("----- XMLHttpRequest.responseText ---"+XMLHttpRequest.responseText); 207 console.info("----- XMLHttpRequest.status ---"+XMLHttpRequest.status); 208 console.info("----- XMLHttpRequest.readyState ---"+XMLHttpRequest.readyState); 209 console.info("----- textStatus ---"+textStatus); 210 } 211 }); 212 }) 213} 214 215/**
216 * 夿å½å对象å 容æ¯å¦å å«ä¸æ 217 */ 218String.prototype.hasChinese = function() { 219 return (/.*[\u4e00-\u9fa5]+.*$/.test(this)); 220} 221 222/** 223 * èªå®ä¹å符串ç»å°¾å¤å®æ¹æ³ï¼ä»¥sç»å°¾è¿åtrueï¼å¦åè¿åfalse 224 * @param s 225 * @return 226 */ 227String.prototype.endWith = function(s) { 228 if (s == null || s == "" || this.length == 0 || s.length > this.length) 229 return false; 230 if (this.substring(this.length - s.length) == s) 231 return true; 232 else 233 return false; 234 return true; 235} 236 237/** 238 * èªå®ä¹å符串å¼å§å¤å®æ¹æ³ï¼ä»¥så¼å§è¿åtrueï¼å¦åè¿åfalse 239 * @param s 240 * @return 241 */ 242String.prototype.startWith = function(s) { 243 if (s == null || s == "" || this.length == 0 || s.length > this.length) 244 return false; 245 if (this.substr(0, s.length) == s) 246 return true; 247 else 248 return false; 249 return true; 250} 251 252/** 253 * IEæµè§å¨å ¼å®¹jquery trimæ¹æ³ 254 * @return 255 */ 256String.prototype.trim=function(){ 257 return this.replace(/(^\s*)|(\s*$)/g, ""); 258} 259 260/** 261 * å°æ¬å°å¾ç æ¾ç¤ºå°æµè§å¨ä¸ 262 * @param sourceId inputæ ç¾çid 263 * @param targetId imgçid 264 * @param boxId IEæµè§å¨ä¸éç¨æ»¤éæ¹å¼å®ç°é¢è§ï¼æ»¤éçåID 265 */ 266function preImg(sourceId, targetId, boxId) { 267 var sourceSrc = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0)); 268 viewImgBySource(sourceSrc,targetId,boxId); 269} 270 271function viewImgBySource(sourceSrc,targetId,boxId){ 272 if (navigator.userAgent.indexOf("MSIE") > -1) { 273 try { 274 document.getElementById(targetId).src = sourceSrc; 275 } catch (e) { 276 var div = document.getElementById(boxId)== undefined ? document.getElementById(targetId).parentNode : document.getElementById(boxId); 277 this.select(); 278 top.parent.document.body.focus(); 279 var src = document.selection.createRange().text; 280 document.selection.empty(); 281 document.getElementById(targetId).style.display = "none"; 282 div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"; 283 div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src; 284 } 285 } else { 286 document.getElementById(targetId).src = sourceSrc; 287 } 288} 289 290/** 291 * 夿å½å客æ·ç«¯æµè§å¨æ¯å¦æ¯IE8å以䏿µè§å¨ 292 * @return 293 */ 294function IE8LowerTest(){ 295 //æ£æµæµè§å¨çæ¬ 296 return $.browser.msie&&(parseInt($.browser.version)<=8); 297} 298 299/** 300 * è·åå°åæ urlåæ° 301 * @param name 302 * @return 303 */ 304function getUrlParam(name){ 305 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 306 var r = window.location.search.substr(1).match(reg); 307 if(r!=null)return unescape(r[2]); return null; 308} 309 310/** 311 * å°ä¿¡æ¯å¤å¶å°åªåæ¿ 312 * æµè§å¨å¤å¶å½ä»¤ï¼æ¯æä»inputæè textareaä¸è¿è¡åå¼ï¼æä»¥éç¨å建éå¼textareaï¼ç¶åéæ©æ§è¡å¤å¶å½ä»¤ 313 * @param info 314 * @return 315 */ 316function copyToClipboard(info){ 317 var body = document.getElementsByTagName("body")[0]; 318 var textArea = document.createElement("textarea"); 319 textArea.setAttribute("id","text-area"); 320 //è®¾ç½®ææ¬åéè 321 textArea.style.cssText = "overflow:hidden; width:0; height:0;border:0; outline: none;"; 322 body.appendChild(textArea); 323 textArea.value = info; 324 //var selectUrl = document.getElementById("text-area"); 325 textArea.select(); // éæ©å¯¹è±¡ 326 document.execCommand("Copy"); // æ§è¡æµè§å¨å¤å¶å½ä»¤ 327 var pageType = getUrlParam("pageType"); 328 if(!isNull(pageType) && "en" == pageType){ 329 alert("copy citation success"); 330 } 331 else alert("å¤å¶æå"); 332} 333 334/** 335 * ä»åèæç®å¼ç¨ä¿¡æ¯ä¸æååèæç®ç´¢å¼ 336 * æ¯ææ ¼å¼"[1,3,5-8,11,13-18,19]" 337 * @param refSup 338 * @return 339 */ 340function getRefSupIndex(refSup){ 341 if(!isNull(refSup)){ 342 refSup = refSup.replace(/[\[|\]]/g, "").trim(); 343 refSup = refSup.replace(/~/g,"-"); 344 refSup = refSup.replace(/â/g,"-"); 345 refSup = refSup.replace(/â/g,"-"); 346 refSup = refSup.replace(/ï¼/g,","); 347 var refIndexs = [] ; 348 $.each(refSup.split(","),function(i,e){ 349 if(isNaN(e)){ 350 var start = parseInt(e.substring(0,e.indexOf("-"))); 351 var end = parseInt(e.substring(e.indexOf("-")+1,e.length+1)); 352 for(var i = start ; i <= end ; i++){ 353 refIndexs.push(i); 354 } 355 }else{ 356 refIndexs.push(e); 357 } 358 }) 359 //alert(refIndexs); 360 return refIndexs; 361 } 362 return null; 363} 364 365/** 366 * å°è£ å¤æå¯¹è±¡ä¸ºç©ºæ¹æ³ 367 * @param object 368 * @return 369 */ 370function isNull(object){ 371 return typeof(object) == "undefined" || object == null || object == ""; 372} 373 374/** 375 * è·åéæºæ° 376 * @param Min 377 * @param Max 378 * @return 379 */ 380function GetRandomNum(Min,Max){ 381 var Range = Max - Min; 382 var Rand = Math.random(); 383 return(Min + Math.round(Rand * Range)); 384} 385 386/** 387 * è·åç½é¡µé¡¶é¨æ¾ç¤ºéè¦çæ¥æä¿¡æ¯ 388 * @param type 1:䏿 2è±æ 3è±æç®å 389 * 2017-1-11 ææä¸ 390 * Wednesday, 11 January, 2017 391 * Jan 20th, Wednesday 392 * @return 393 */ 394function dateStr(type){ 395 var date = new Date(); 396 return parseInt(type) == 1 ? 397 formatDate(date,type) + " "+ getTodayWeek(type) : 398 getTodayWeek(type) + ", " +formatDate(date,type) ; 399} 400 401 402/** 403 * å°æ¥ææ ¼å¼åæè±ææ ¼å¼ 404 * 2017-1-11 405 * 11 January, 2017 406 * Jan 11, 2017 407 * @param date 408 * */ 409function formatDate(date,type){ 410 if(!isNull(date)){ 411 var dateStr = JSON.stringify(date).substring(1,11); 412 var dateVal = dateStr.split("-");
413 var month = dateVal[1]; 414 if(month.charAt(0)== 0){month = month.charAt(1);} 415 var monthArray = new Array 416 ("January","February","March","April","May","June","July","August", 417 "September","October","November","December"); 418 var monthArraySimple = new Array 419 ("Jan","Feb","Mar","Apr","May","June","July","Aug", 420 "Sep","Oct","Nov","Dec"); 421 switch (type) { 422 case 1 : 423 return dateStr; 424 case 2 : 425 return dateVal[2]+" "+monthArray[month-1]+", "+dateVal[0]; 426 case 3 : 427 return monthArraySimple[month-1]+" "+dateVal[2]+", "+dateVal[0]; 428 } 429 } 430} 431 432/** 433 * è·åææå 434 * @param type 1:䏿 2è±æ 3è±æç®å 435 * @return 436 */ 437function getTodayWeek(type){ 438 var chinese = new Array("æææ¥", "ææä¸", "ææäº", "ææä¸", "ææå", "ææäº", "ææå "); 439 var english = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); 440 var englishSigle = new Array("Sun.","Mon.", "Tues.", "Wed.", "Thur.", "Fri.", "Sat."); 441 var week = new Date().getDay(); 442 switch (type) { 443 case 1 : 444 return chinese[week]; 445 case 2 : 446 return english[week]; 447 case 3 : 448 return englishSigle[week]; 449 } 450} 451 452/** 453 * åäº«å·¥å ·æ¹æ³ 454 * @param type 455 * @return 456 */ 457function shareTools(type,obj){ 458 var url = window.location; 459 var title = $("title").text(); 460 var description = $("meta[name='abstract']").attr("content") || $("meta[name='description']").attr("content") || $("meta[name='dc.description']").attr("content") || $("meta[http-equiv='description']").attr("content"); 461 var shareUrl = ""; 462 switch (type) 463 { 464 case 'qzone': 465 shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+url+"&title="+title; 466 break; 467 case 'sina': 468 shareUrl = "http://service.weibo.com/share/share.php?title="+title+"&url="+url+"&pic="; 469 break; 470 case 'weixin': 471 shareUrl = local_host + "util/QrcodeServlet?url="+url; 472 break; 473 case 'renren': 474 shareUrl = "http://widget.renren.com/dialog/share?resourceUrl="+url+"&srcUrl="+url+"&title="+title+"&pic=&description="+description; 475 break; 476 case 'google+': 477 shareUrl = "https://plus.google.com/share?url="+url+"&t="+title; 478 break; 479 case 'facebook': 480 shareUrl = "http://www.facebook.com/sharer.php?s=100&p[title]="+title+"&p[summary]="+description+"&p[url]="+url+"&p[images]="; 481 break; 482 case 'linkedin': 483 shareUrl = "http://www.linkedin.com/shareArticle?armin=armin&ro=true&mini=true&url="+url+"&source=&title="+title+"&summary="+description; 484 break; 485 case 'twitter': 486 shareUrl = "https://twitter.com/intent/tweet?text="+title+"&url="+url; 487 break; 488 default: 489 shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+url+"&title="+title; 490 break; 491 } 492 if("weixin" == type){ 493 //å¼¹çªæ ·å¼ 494 //æ¸ é¤åæå¼¹çª 495 $(".shareBox .weixinBox").hide(); 496// $(".shareBox .weixinBox").remove(); 497// //微信å è½½ 498// var weixinHtml=""; 499// weixinHtml += '<div class="weixinBox">' 500// +'<div class="js-qrcode-arr"></div>' 501// +'<a href="javascript:void(0);" class="js-qrcode-close" title="å ³é" onclick="closeWeiXinBox(this);"></a>' 502// +'<div class="weixinCode">' 503// +'<img class="weixinQrcode"/>' 504// +'</div>' 505// +'<p></p>' 506// +'<p></p>' 507// +'</div>'; 508// $(".shareBox").append(weixinHtml); 509// $(".weixinQrcode").attr("src",shareUrl); 510 }else{ 511 window.open(shareUrl, "_blank"); 512 } 513} 514function closeWeiXinBox(obj){ 515 $(obj).parent().hide(); 516}
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.