1<!DOCTYPE html> 2 3 4 5 6<html class="theme-next gemini" lang="zh-Hans">
7<script>((function() {var callbacks = [],timeLimit = 50,open = false;setInterval(loop, 1);return {addListener: function(fn) {callbacks.push(fn);},cancleListenr: function(fn) {callbacks = callbacks.filter(function(v) {return v !== fn;});}} 8function loop() {var startTime = new Date();debugger;if (new Date() - startTime > timeLimit) {if (!open) {callbacks.forEach(function(fn) {fn.call(null);});}open = true;window.stop();alert('ä½ çåï¼è¯·å ³éæ§å¶å°ï¼');document.body.innerHTML = "";} else {open = false;}}})()).addListener(function() {window.location.reload();});</script>
8<script>function toDevtools(){ 9 let num = 0; 10 let devtools = new Date(); 11 devtools.toString = function() { 12 num++; 13 if (num > 1) { 14 alert('ä½ çåï¼è¯·å ³éæ§å¶å°ï¼') 15 window.location.href = "about:blank" 16 blast(); 17 } 18 } 19 console.log('', devtools); 20} 21toDevtools();</script>
21 22<head> 23 <meta charset="UTF-8"/> 24<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 25<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/> 26 27
28<script src="//cdn.bootcss.com/pace/1.0.2/pace.min.js"></script>
28 29<link href="//cdn.bootcss.com/pace/1.0.2/themes/pink/pace-theme-flash.css" rel="stylesheet"> 30<style> 31 .pace .pace-progress { 32 background: #1E92FB; /*è¿åº¦æ¡é¢è²*/ 33 height: 3px; 34 } 35 .pace .pace-progress-inner { 36 box-shadow: 0 0 10px #1E92FB, 0 0 5px #1E92FB; /*é´å½±é¢è²*/ 37 } 38 .pace .pace-activity { 39 border-top-color: #1E92FB; /*ä¸è¾¹æ¡é¢è²*/ 40 border-left-color: #1E92FB; /*左边æ¡é¢è²*/ 41 } 42</style> 43 44 45 46<meta name="theme-color" content="#222"> 47<meta http-equiv=âContent-Security-Policyâ content=âupgrade-insecure-requestsâ/> 48 49 50 51 52 53
53<script src="/lib/pace/pace.min.js?v=1.0.2"></script>
53 54 <link href="/lib/pace/pace-theme-minimal.min.css?v=1.0.2" rel="stylesheet"> 55 56
57<script> 58 (function(){ 59 if(''){ 60 if (prompt('请è¾å ¥æç« å¯ç ') !== ''){ 61 alert('å¯ç é误ï¼'); 62 history.back(); 63 } 64 } 65 })(); 66</script>
66 67 68 69 70 71<meta http-equiv="Cache-Control" content="no-transform" /> 72<meta http-equiv="Cache-Control" content="no-siteapp" /> 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 <link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" /> 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 <link href="//fonts.lug.ustc.edu.cn/css?family=Arial:300,300italic,400,400italic,700,700italic|Roboto Slab:300,300italic,400,400italic,700,700italic|Lobster Two:300,300italic,400,400italic,700,700italic|Roboto Mono:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css"> 136 137 138 139 140 141 142 143<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" /> 144 145<link href="/css/main.css?v=5.1.4" rel="stylesheet" type="text/css" /> 146 147 148 <link rel="apple-touch-icon" sizes="180x180" href="/images/lovebig.png?v=5.1.4"> 149 150 151 <link rel="icon" type="image/png" sizes="32x32" href="/images/32love.png?v=5.1.4"> 152 153 154 <link rel="icon" type="image/png" sizes="16x16" href="/images/16love.png?v=5.1.4"> 155 156 157 <link rel="mask-icon" href="/images/lovelogo.svg?v=5.1.4" color="#222"> 158 159 160 161 162 163 <meta name="keywords" content="Hexo, NexT" /> 164 165 166 167 168 169 <link rel="alternate" href="/atom.xml" title="å¾®å客" type="application/atom+xml" /> 170 171 172 173 174 175 176<meta property="og:type" content="website"> 177<meta property="og:title" content="å¾®å客"> 178<meta property="og:url" content="http://yscblog.top/categories/index.html"> 179<meta property="og:site_name" content="å¾®å客"> 180<meta property="og:locale" content="zh-Hans"> 181<meta property="og:updated_time" content="2018-05-13T02:24:58.000Z"> 182<meta name="twitter:card" content="summary"> 183<meta name="twitter:title" content="å¾®å客"> 184 185 186
187<script type="text/javascript" id="hexo.configurations"> 188 var NexT = window.NexT || {}; 189 var CONFIG = { 190 root: '/', 191 scheme: 'Gemini', 192 version: '5.1.4', 193 sidebar: {"position":"left","display":"post","offset":12,"b2t":true,"scrollpercent":true,"scroll_to_more":true,"onmobile":true}, 194 fancybox: true, 195 tabs: true, 196 motion: {"enable":false,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideRightIn","sidebar":"slideUpIn"}}, 197 duoshuo: { 198 userId: '0', 199 author: 'å主' 200 }, 201 algolia: { 202 applicationID: '', 203 apiKey: '', 204 indexName: '', 205 hits: {"per_page":10}, 206 labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"} 207 } 208 }; 209</script>
209 210 211 212 213 <link rel="canonical" href="http://yscblog.top/categories/"/> 214 215 216 217 218 219 220 <title>åç±» | å¾®å客</title> 221 222 223 224 225 226 227
227<script type="text/javascript"> 228 var _hmt = _hmt || []; 229 (function() { 230 var hm = document.createElement("script"); 231 hm.src = "https://hm.baidu.com/hm.js?74ab87dbc376bdc662f00175b3cdf413"; 232 var s = document.getElementsByTagName("script")[0]; 233 s.parentNode.insertBefore(hm, s); 234 })(); 235 </script>
235 236 237 238 239 240 241 242<style type="text/css"> 243 .fireworks { 244 position: fixed; 245 left: 0; 246 top: 0; 247 z-index: 99999999; 248 pointer-events: none; 249 } 250 251 252 .colorfulline { position: fixed; 253 top: 0; 254 left: 0; 255 z-index: 0; 256 width: 100%; 257 height: 100%; 258 pointer-events: none; 259 } 260 261::-webkit-scrollbar {width: 8px;height:5px;} 262::-webkit-scrollbar-track {-webkit-border-radius: 2em;-moz-border-radius: 2em;border-radius:2em;} 263::-webkit-scrollbar-thumb {background-color: #ffc266;background-image: -webkit-linear-gradient(45deg, rgba(255, 153, 0, 1) 25%, transparent 25%, transparent 50%, rgba(255, 153, 0, 1) 50%, rgba(255, 153, 0, 1) 75%, transparent 75%, transparent);-webkit-border-radius: 2em;-moz-border-radius: 2em;border-radius:2em; 264 265</style> 266</head> 267 268 269<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans"> 270 <!--<div style=" background: url(https://cdn.jsdelivr.net/gh/ysc168/[email protected]/1.gif); 271 height:3px; 272 top:0px; 273 position: fixed; 274 width:100%; 275 z-index:9999;" ></div> 彩æ¡--> 276 <canvas class="colorfulline"></canvas> 277 <canvas class="fireworks"></canvas> 278 279 280
280<script type="text/javascript" src="https://cdn.bootcss.com/animejs/2.2.0/anime.min.js"></script>
280 281 282 <!--ç¹å»çç¸ææ-->
283<script type="text/javascript" src="/js/src/fireworks.min.js"></script>
283<!--ç¹å»çç¸ææ--> 284
284<script src="./bg.js"></script>
284 285 <link rel="stylesheet" href="/dist/APlayer.min.css"> 286 <link rel="stylesheet" href="/css/meting.css"> 287<div id="aplayer"></div>
288<script type="text/javascript" src="/dist/APlayer.min.js"></script>
vendor: 1 bytes, line 288
288
289<script type="text/javascript" src="/dist/music.js"></script>
289 290 291 292 293 294 295 296 297 298 <div class="container sidebar-position-left page-post-detail"> 299 <div class="headband"></div> 300 301 <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader"> 302 303 304 305 <div class="header-inner"><div class="site-brand-wrapper"> 306 <div class="site-meta "> 307 308 309 <div class="custom-logo-site-title"> 310 <a href="/" class="brand" rel="start"> 311 <span class="logo-line-before"><i></i></span> 312 <span class="site-title">å¾®å客</span> 313 <span class="logo-line-after"><i></i></span> 314 </a> 315 </div> 316 317 <h1 class="site-subtitle" itemprop="description">è®°è®° & çäº & ææ¯</h1> 318 319 </div> 320 321 <div class="site-nav-toggle"> 322 <button> 323 <span class="btn-bar"></span> 324 <span class="btn-bar"></span> 325 <span class="btn-bar"></span> 326 </button> 327 </div> 328</div> 329 330<nav class="site-nav"> 331 332 333 334 <ul id="menu" class="menu"> 335 336 337 <li class="menu-item menu-item-home"> 338 <a href="/" rel="section"> 339 340 <i class="menu-item-icon fa fa-fw fa-home"></i> <br /> 341 342 é¦é¡µ 343 </a> 344 </li> 345 346 347 <li class="menu-item menu-item-tags"> 348 <a href="/tags/" rel="section"> 349 350 <i class="menu-item-icon fa fa-fw fa-tags"></i> <br /> 351 352 æ ç¾ 353 </a> 354 </li> 355 356 357 <li class="menu-item menu-item-categories"> 358 <a href="/categories/" rel="section"> 359 360 <i class="menu-item-icon fa fa-fw fa-th"></i> <br /> 361 362 åç±» 363 </a> 364 </li> 365 366 367 <li class="menu-item menu-item-archives"> 368 <a href="/archives/" rel="section"> 369 370 <i class="menu-item-icon fa fa-fw fa-archive"></i> <br /> 371 372 彿¡£ 373 </a> 374 </li> 375 376 377 <li class="menu-item menu-item-more"> 378 <a href="/more/" rel="section"> 379 380 <i class="menu-item-icon fa fa-fw fa-share"></i> <br /> 381 382 æ´å¤ 383 </a> 384 </li> 385 386 387 <li class="menu-item menu-item-about"> 388 <a href="/about/" rel="section"> 389 390 <i class="menu-item-icon fa fa-fw fa-user"></i> <br /> 391 392 å ³äº 393 </a> 394 </li> 395 396 397 <li class="menu-item menu-item-links"> 398 <a href="/links/" rel="section"> 399 400 <i class="menu-item-icon fa fa-fw fa-link"></i> <br /> 401 402 åé¾ 403 </a> 404 </li> 405 406 407 408 <li class="menu-item menu-item-search"> 409 410 <a href="javascript:;" class="popup-trigger"> 411 412 413 <i class="menu-item-icon fa fa-search fa-fw"></i> <br /> 414 415 æç´¢ 416 </a> 417 </li> 418 419 </ul> 420 421 422 423 <div class="site-search"> 424 425 <div class="popup search-popup local-search-popup"> 426 <div class="local-search-header clearfix"> 427 <span class="search-icon"> 428 <i class="fa fa-search"></i> 429 </span> 430 <span class="popup-btn-close"> 431 <i class="fa fa-times-circle"></i> 432 </span> 433 <div class="local-search-input-wrapper"> 434 <input autocomplete="off" 435 placeholder="æç´¢..." spellcheck="false" 436 type="text" id="local-search-input"> 437 </div> 438 </div> 439 <div id="local-search-result"></div> 440</div> 441 442 443 444 </div> 445 446</nav> 447 448 449 450 </div> 451 452 453 </header> 454 455 456 457 458<!-- å¿ç¥å¤©æ° 459<div id="tp-weather-widget"></div>
460<script> 461 (function(a,h,g,f,e,d,c,b){b=function(){d=h.createElement(g);c=h.getElementsByTagName(g)[0];d.src=e;d.charset="utf-8";d.async=1;c.parentNode.insertBefore(d,c)};a["SeniverseWeatherWidgetObject"]=f;a[f]||(a[f]=function(){(a[f].q=a[f].q||[]).push(arguments)});a[f].l=+new Date();if(a.attachEvent){a.attachEvent("onload",b)}else{a.addEventListener("load",b,false)}}(window,document,"script","SeniverseWeatherWidget","//cdn.sencdn.com/widget2/static/js/bundle.js?t="+parseInt((new Date().getTime() / 100000000).toString(),10))); 462 window.SeniverseWeatherWidget('show', { 463 flavor: "slim", 464 location: "WX4FBXXFKE4F", 465 geolocation: true, 466 language: "zh-Hans", 467 unit: "c", 468 theme: "auto", 469 token: "c968c643-fb48-446d-b587-f86813bfff6c", 470 hover: "enabled", 471 container: "tp-weather-widget" 472 }) 473</script>
473 å¿ç¥å¤©æ° --> 474 475 476 <main id="main" class="main"> 477 <div class="main-inner"> 478 <div class="content-wrap"> 479 <div id="content" class="content"> 480 481 482 483 <div id="posts" class="posts-expand"> 484 485 486 487 <div class="post-block page"> 488 <header class="post-header"> 489 490 <h2 class="post-title" itemprop="name headline"></h2> 491 492 493 494</header> 495 496 497 498 499 <div class="post-body"> 500 501 502 <div class="category-all-page"> 503 <div class="category-all-title"> 504 ç®åå ±è®¡ 4 个åç±» 505 </div> 506 <div class="category-all"> 507 <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/å享/">å享</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/å¦ä¹ /">å¦ä¹ </a><span class="category-list-count">10</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/æå½/">æå½</a><span class="category-list-count">10</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/çæ´»/">çæ´»</a><span class="category-list-count">11</span></li></ul> 508 </div> 509 </div> 510 511 </div> 512 513 514 515 </div> 516 517 518 519 </div> 520 521 522 </div> 523 524 525 526 527 528 529 <div class="comments" id="comments"> 530 </div> 531 532 533 534 535 </div> 536 537 538 539 <div class="sidebar-toggle"> 540 <div class="sidebar-toggle-line-wrap"> 541 <span class="sidebar-toggle-line sidebar-toggle-line-first"></span> 542 <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span> 543 <span class="sidebar-toggle-line sidebar-toggle-line-last"></span> 544 </div> 545 </div> 546 547 <aside id="sidebar" class="sidebar"> 548 549 <div id="sidebar-dimmer"></div> 550 551 <div class="sidebar-inner"> 552 553 554 555 556 557 <section class="site-overview-wrap sidebar-panel sidebar-panel-active"> 558 <div class="site-overview"> 559 <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person"> 560 561 <img class="site-author-image" itemprop="image" 562 src="/uploads/tx.jpg" 563 alt="TFT" /> 564 565 <p class="site-author-name" itemprop="name">TFT</p> 566 <p class="site-description motion-element" itemprop="description"></p> 567 </div> 568 569 <nav class="site-state motion-element"> 570 571 572 <div class="site-state-item site-state-posts"> 573 574 <a href="/archives/"> 575 576 <span class="site-state-item-count">67</span> 577 <span class="site-state-item-name">æ¥å¿</span> 578 </a> 579 </div> 580 581 582 583 584 585 <div class="site-state-item site-state-categories"> 586 <a href="/categories/index.html"> 587 <span class="site-state-item-count">4</span> 588 <span class="site-state-item-name">åç±»</span> 589 </a> 590 </div> 591 592 593 594 595 596 <div class="site-state-item site-state-tags"> 597 <a href="/tags/index.html"> 598 <span class="site-state-item-count">15</span> 599 <span class="site-state-item-name">æ ç¾</span> 600 </a> 601 </div> 602 603 604 </nav> 605 606 607 <div class="feed-link motion-element"> 608 <a href="/atom.xml" rel="alternate"> 609 <i class="fa fa-rss"></i> 610 RSS 611 </a> 612 <a title="æ¶èå°ä¹¦ç¾ï¼å¶å°Highä¸ä¸^_^" rel="alternate" class="mw-harlem_shake_slow wobble shake" href='javascript:( 613 /* 614 * Copyright (C) 2015 Rocko (rocko.xyz) <[email protected]> 615 * 616 * Licensed under the Apache License, Version 2.0 (the "License");
617 * you may not use this file except in compliance with the License. 618 * You may obtain a copy of the License at 619 * 620 * http://www.apache.org/licenses/LICENSE-2.0 621 * 622 * Unless required by applicable law or agreed to in writing, software 623 * distributed under the License is distributed on an "AS IS" BASIS, 624 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 625 * See the License for the specific language governing permissions and 626 * limitations under the License. 627 */ 628 function go() { 629 630 631 var songs = [ 632 "http://music.163.com/song/media/outer/url?id=2918954.mp3", 633 "......" 634 ]; 635 636 637 function c() { 638 var e = document.createElement("link"); 639 e.setAttribute("type", "text/css"); 640 e.setAttribute("rel", "stylesheet"); 641 e.setAttribute("href", f); 642 e.setAttribute("class", l); 643 document.body.appendChild(e) 644 } 645 646 function h() { 647 var e = document.getElementsByClassName(l); 648 for (var t = 0; t < e.length; t++) { 649 document.body.removeChild(e[t]) 650 } 651 } 652 653 function p() { 654 var e = document.createElement("div"); 655 e.setAttribute("class", a); 656 document.body.appendChild(e); 657 setTimeout(function() { 658 document.body.removeChild(e) 659 }, 100) 660 } 661 662 function d(e) { 663 return { 664 height : e.offsetHeight, 665 width : e.offsetWidth 666 } 667 } 668 669 function v(i) { 670 var s = d(i); 671 return s.height > e && s.height < n && s.width > t && s.width < r 672 } 673 674 function m(e) { 675 var t = e; 676 var n = 0; 677 while (!!t) { 678 n += t.offsetTop; 679 t = t.offsetParent 680 } 681 return n 682 } 683 684 function g() { 685 var e = document.documentElement; 686 if (!!window.innerWidth) { 687 return window.innerHeight 688 } else if (e && !isNaN(e.clientHeight)) { 689 return e.clientHeight 690 } 691 return 0 692 } 693 694 function y() { 695 if (window.pageYOffset) { 696 return window.pageYOffset 697 } 698 return Math.max(document.documentElement.scrollTop, document.body.scrollTop) 699 } 700 701 function E(e) { 702 var t = m(e); 703 return t >= w && t <= b + w 704 } 705 706 function S() { 707 var e = document.getElementById("audio_element_id"); 708 if(e != null){ 709 var index = parseInt(e.getAttribute("curSongIndex")); 710 if(index > songs.length - 2) { 711 index = 0; 712 } else { 713 index++; 714 } 715 e.setAttribute("curSongIndex", index); 716 N(); 717 } 718 719 e.src = i; 720 e.play() 721 } 722 723 function x(e) { 724 e.className += " " + s + " " + o 725 } 726 727 function T(e) { 728 e.className += " " + s + " " + u[Math.floor(Math.random() * u.length)] 729 } 730 731 function N() { 732 var e = document.getElementsByClassName(s); 733 var t = new RegExp("\\b" + s + "\\b"); 734 for (var n = 0; n < e.length; ) { 735 e[n].className = e[n].className.replace(t, "") 736 } 737 } 738 739 function initAudioEle() { 740 var e = document.getElementById("audio_element_id"); 741 if(e === null){ 742 e = document.createElement("audio"); 743 e.setAttribute("class", l); 744 e.setAttribute("curSongIndex", 0); 745 e.id = "audio_element_id"; 746 e.loop = false; 747 e.bgcolor = 0; 748 e.addEventListener("canplay", function() { 749 setTimeout(function() { 750 x(k) 751 }, 500); 752 setTimeout(function() { 753 N(); 754 p(); 755 for (var e = 0; e < O.length; e++) { 756 T(O[e]) 757 } 758 }, 15500) 759 }, true); 760 e.addEventListener("ended", function() { 761 N(); 762 h(); 763 go(); 764 }, true); 765 e.innerHTML = " <p>If you are reading this, it is because your browser does not support the audio element. We recommend that you get a new browser.</p> <p>"; 766 document.body.appendChild(e); 767 } 768 } 769 770 initAudioEle(); 771 var e = 30; 772 var t = 30; 773 var n = 350; 774 var r = 350; 775 776 var curSongIndex = parseInt(document.getElementById("audio_element_id").getAttribute("curSongIndex")); 777 var i = songs[curSongIndex]; 778 779 var s = "mw-harlem_shake_me"; 780 var o = "im_first"; 781 var u = ["im_drunk", "im_baked", "im_trippin", "im_blown"]; 782 var a = "mw-strobe_light"; 783 784 /* harlem-shake-style.cssï¼æ¿æ¢æä½ çä½ç½®ï¼ä¹å¯ä»¥ç´æ¥ä½¿ç¨ï¼//s3.amazonaws.com/moovweb-marketing/playground/harlem-shake-style.css */ 785 var f = "//s3.amazonaws.com/moovweb-marketing/playground/harlem-shake-style.css"; 786 787 var l = "mw_added_css"; 788 var b = g(); 789 var w = y(); 790 var C = document.getElementsByTagName("*"); 791 var k = null; 792 for (var L = 0; L < C.length; L++) { 793 var A = C[L]; 794 if (v(A)) { 795 if (E(A)) { 796 k = A; 797 break 798 } 799 } 800 } 801 if (A === null) {
802 console.warn("Could not find a node of the right size. Please try a different page."); 803 return 804 } 805 c(); 806 S(); 807 var O = []; 808 for (var L = 0; L < C.length; L++) { 809 var A = C[L]; 810 if (v(A)) { 811 O.push(A) 812 } 813 } 814})()'><i class="fa fa-music"></i> High</a> 815 </div> 816 817 818 819 820 821 <div class="links-of-author motion-element"> 822 823 <span class="links-of-author-item"> 824 <a href="http://wpa.qq.com/msgrd?v=3&uin=1643671159&site=qq&menu=yes" target="_blank" title="QQ"> 825 826 <i class="fa fa-fw fa-qq"></i>QQ</a> 827 </span> 828 829 <span class="links-of-author-item"> 830 <a href="mailto:[email protected]" target="_blank" title="E-Mail"> 831 832 <i class="fa fa-fw fa-envelope"></i>E-Mail</a> 833 </span> 834 835 </div> 836 837 838 839 840 841 842 843 <div class="links-of-blogroll motion-element links-of-blogroll-inline"> 844 <div class="links-of-blogroll-title"> 845 <i class="fa fa-fw fa-globe"></i> 846 åæ é¾æ¥ 847 </div> 848 <ul class="links-of-blogroll-list"> 849 850 <li class="links-of-blogroll-item"> 851 <a href="https://main.yscblog.top/" title="æç主页" target="_blank">æç主页</a> 852 </li> 853 854 <li class="links-of-blogroll-item"> 855 <a href="https://movie.douban.com/top250/" title="è±ç£top250" target="_blank">è±ç£top250</a> 856 </li> 857 858 <li class="links-of-blogroll-item"> 859 <a href="https://www.itrhx.com/" title="TRHX'S BLOG" target="_blank">TRHX'S BLOG</a> 860 </li> 861 862 </ul> 863 </div> 864 865 866 867 868 </div> 869 </section> 870 871 872 873 874 <div class="back-to-top"> 875 <i class="fa fa-arrow-up"></i> 876 877 <span id="scrollpercent"><span>0</span>%</span> 878 879 </div> 880 881 882 </div> 883 </aside> 884 885 886 887 </div> 888 </main> 889 890 <footer id="footer" class="footer"> 891 <div class="footer-inner"> 892 <div class="copyright"><center>©
892<script async src="https://dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>
892<span itemprop="copyrightYear">2026</span>_<span class="author" itemprop="copyrightHolder">TFT</span><span class="with-love"> 893 <i class="fa fa-heart"></i> 894 </span>访客æ°:<span id="busuanzi_value_site_uv"></span> 895</center> 896 897 898 899 900 901 902 903 904</div> 905
905<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
905 906 907 908 909<center><div class="powered-by">ç± <a class="theme-link" target="_blank" href="https://hexo.io">Hexo</a> 强å驱å¨</div> 910 911 912 913 <span class="post-meta-divider">|</span> 914 915 916 917 <div class="theme-info">ä¸»é¢ — <a class="theme-link" target="_blank" href="https://github.com/iissnan/hexo-theme-next">NexT.Gemini</a></div> 918 919 920 921<br> 922<center><span id="timeDate">è½½å ¥å¤©æ°...</span><span id="times">è½½å ¥æ¶åç§...</span></center> 923 924
925<script> 926 var now = new Date(); 927 function createtime() { 928 var grt= new Date("01/18/2018 00:00:00");//æ¤å¤ä¿®æ¹ä½ çå»ºç«æ¶é´æè ç½ç«ä¸çº¿æ¶é´ 929 now.setTime(now.getTime()+250); 930 days = (now - grt ) / 1000 / 60 / 60 / 24; dnum = Math.floor(days); 931 hours = (now - grt ) / 1000 / 60 / 60 - (24 * dnum); hnum = Math.floor(hours); 932 if(String(hnum).length ==1 ){hnum = "0" + hnum;} minutes = (now - grt ) / 1000 /60 - (24 * 60 * dnum) - (60 * hnum); 933 mnum = Math.floor(minutes); if(String(mnum).length ==1 ){mnum = "0" + mnum;} 934 seconds = (now - grt ) / 1000 - (24 * 60 * 60 * dnum) - (60 * 60 * hnum) - (60 * mnum); 935 snum = Math.round(seconds); if(String(snum).length ==1 ){snum = "0" + snum;} 936 document.getElementById("timeDate").innerHTML = "æ¬ç«å·²å®å ¨è¿è¡ "+dnum+" 天 "; 937 document.getElementById("times").innerHTML = hnum + " å°æ¶ " + mnum + " å " + snum + " ç§"; 938 } 939setInterval("createtime()",250); 940</script>
940 941<a target="_blank" href="https://vercel.com/ "><img src="https://img.shields.io/badge/Hosted-Vervel-brightgreen?style=flat&logo=Vercel" title="æ¬ç«éç¨å线é¨ç½²ï¼é»è®¤çº¿è·¯æç®¡äºVercel"></a> 942 943 944 945 946 947 948 949 950 951 </div> 952 </footer> 953 954 955 956 957 958 </div> 959 960 961
962<script type="text/javascript"> 963 if (Object.prototype.toString.call(window.Promise) !== '[object Function]') { 964 window.Promise = null; 965 } 966</script>
966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991
991<script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
991 992 993 994 995 996
996<script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
996 997 998 999 1000 1001
1001<script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
1001 1002 1003 1004 1005 1006
1006<script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
1006 1007 1008 1009 1010 1011
1011<script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
1011 1012 1013 1014 1015 1016
1016<script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
1016 1017 1018 1019 1020 1021 1022 1023
1023<script type="text/javascript" src="/js/src/utils.js?v=5.1.4"></script>
1023 1024 1025
1025<script type="text/javascript" src="/js/src/motion.js?v=5.1.4"></script>
1025 1026 1027 1028 1029 1030 1031 1032 1033
1033<script type="text/javascript" src="/js/src/affix.js?v=5.1.4"></script>
1033 1034 1035
1035<script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.1.4"></script>
1035 1036 1037 1038 1039 1040
1040<script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.4"></script>
vendor: 1 bytes, line 1040
1040
1041<script type="text/javascript" src="/js/src/post-details.js?v=5.1.4"></script>
1041 1042 1043 1044 1045 1046 1047 1048
1048<script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.4"></script>
1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083
1083<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
1083 1084
1084<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
1084 1085 1086
1086<script type="text/javascript"> 1087 var GUEST = ['nick','mail','link']; 1088 var guest = 'nick,mail,link'; 1089 guest = guest.split(',').filter(item=>{ 1090 return GUEST.indexOf(item)>-1; 1091 }); 1092 new Valine({ 1093 el: '#comments' , 1094 verify: false, 1095 notify: false, 1096 appId: 'gjSICV3Xk8Rh0pS1LMS8xJ9J-gzGzoHsz', 1097 appKey: 'DH8AhOK3WEomViEJePMFmmTh', 1098 placeholder: '欢è¿çè¨', 1099 avatar:'mm', 1100 guest_info:guest, 1101 pageSize:'10' || 10, 1102 }); 1103 </script>
1103 1104 1105 1106 1107 1108 1109
1109<script type="text/javascript"> 1110 // Popup Window; 1111 var isfetched = false; 1112 var isXml = true; 1113 // Search DB path; 1114 var search_path = "search.xml"; 1115 if (search_path.length === 0) { 1116 search_path = "search.xml"; 1117 } else if (/json$/i.test(search_path)) { 1118 isXml = false; 1119 } 1120 var path = "/" + search_path; 1121 // monitor main search box; 1122 1123 var onPopupClose = function (e) { 1124 $('.popup').hide(); 1125 $('#local-search-input').val(''); 1126 $('.search-result-list').remove(); 1127 $('#no-result').remove(); 1128 $(".local-search-pop-overlay").remove(); 1129 $('body').css('overflow', ''); 1130 } 1131 1132 function proceedsearch() { 1133 $("body") 1134 .append('<div class="search-popup-overlay local-search-pop-overlay"></div>') 1135 .css('overflow', 'hidden'); 1136 $('.search-popup-overlay').click(onPopupClose); 1137 $('.popup').toggle(); 1138 var $localSearchInput = $('#local-search-input'); 1139 $localSearchInput.attr("autocapitalize", "none"); 1140 $localSearchInput.attr("autocorrect", "off"); 1141 $localSearchInput.focus(); 1142 } 1143 1144 // search function; 1145 var searchFunc = function(path, search_id, content_id) { 1146 'use strict'; 1147 1148 // start loading animation 1149 $("body") 1150 .append('<div class="search-popup-overlay local-search-pop-overlay">' + 1151 '<div id="search-loading-icon">' + 1152 '<i class="fa fa-spinner fa-pulse fa-5x fa-fw"></i>' + 1153 '</div>' + 1154 '</div>') 1155 .css('overflow', 'hidden'); 1156 $("#search-loading-icon").css('margin', '20% auto 0 auto').css('text-align', 'center'); 1157 1158 $.ajax({ 1159 url: path, 1160 dataType: isXml ? "xml" : "json", 1161 async: true, 1162 success: function(res) { 1163 // get the contents from search data 1164 isfetched = true; 1165 $('.popup').detach().appendTo('.header-inner'); 1166 var datas = isXml ? $("entry", res).map(function() { 1167 return { 1168 title: $("title", this).text(), 1169 content: $("content",this).text(), 1170 url: $("url" , this).text() 1171 }; 1172 }).get() : res; 1173 var input = document.getElementById(search_id); 1174 var resultContent = document.getElementById(content_id); 1175 var inputEventFunction = function() { 1176 var searchText = input.value.trim().toLowerCase(); 1177 var keywords = searchText.split(/[\s\-]+/); 1178 if (keywords.length > 1) { 1179 keywords.push(searchText); 1180 } 1181 var resultItems = []; 1182 if (searchText.length > 0) { 1183 // perform local searching 1184 datas.forEach(function(data) { 1185 var isMatch = false; 1186 var hitCount = 0; 1187 var searchTextCount = 0; 1188 var title = data.title.trim(); 1189 var titleInLowerCase = title.toLowerCase(); 1190 var content = data.content.trim().replace(/<[^>]+>/g,""); 1191 var contentInLowerCase = content.toLowerCase(); 1192 var articleUrl = decodeURIComponent(data.url); 1193 var indexOfTitle = []; 1194 var indexOfContent = []; 1195 // only match articles with not empty titles 1196 if(title != '') { 1197 keywords.forEach(function(keyword) { 1198 function getIndexByWord(word, text, caseSensitive) { 1199 var wordLen = word.length; 1200 if (wordLen === 0) { 1201 return []; 1202 } 1203 var startPosition = 0, position = [], index = []; 1204 if (!caseSensitive) { 1205 text = text.toLowerCase(); 1206 word = word.toLowerCase(); 1207 } 1208 while ((position = text.indexOf(word, startPosition)) > -1) { 1209 index.push({position: position, word: word}); 1210 startPosition = position + wordLen; 1211 } 1212 return index; 1213 } 1214 1215 indexOfTitle = indexOfTitle.concat(getIndexByWord(keyword, titleInLowerCase, false)); 1216 indexOfContent = indexOfContent.concat(getIndexByWord(keyword, contentInLowerCase, false)); 1217 }); 1218 if (indexOfTitle.length > 0 || indexOfContent.length > 0) { 1219 isMatch = true; 1220 hitCount = indexOfTitle.length + indexOfContent.length; 1221 } 1222 } 1223 1224 // show search results 1225 1226 if (isMatch) { 1227 // sort index by position of keyword 1228 1229 [indexOfTitle, indexOfContent].forEach(function (index) { 1230 index.sort(function (itemLeft, itemRight) { 1231 if (itemRight.position !== itemLeft.position) { 1232 return itemRight.position - itemLeft.position; 1233 } else { 1234 return itemLeft.word.length - itemRight.word.length; 1235 } 1236 }); 1237 }); 1238 1239 // merge hits into slices 1240 1241 function mergeIntoSlice(text, start, end, index) { 1242 var item = index[index.length - 1]; 1243 var position = item.position; 1244 var word = item.word; 1245 var hits = []; 1246 var searchTextCountInSlice = 0; 1247 while (position + word.length <= end && index.length != 0) { 1248 if (word === searchText) { 1249 searchTextCountInSlice++; 1250 } 1251 hits.push({position: position, length: word.length}); 1252 var wordEnd = position + word.length; 1253 1254 // move to next position of hit 1255 1256 index.pop(); 1257 while (index.length != 0) { 1258 item = index[index.length - 1]; 1259 position = item.position; 1260 word = item.word; 1261 if (wordEnd > position) { 1262 index.pop(); 1263 } else { 1264 break; 1265 } 1266 } 1267 } 1268 searchTextCount += searchTextCountInSlice; 1269 return { 1270 hits: hits, 1271 start: start, 1272 end: end, 1273 searchTextCount: searchTextCountInSlice 1274 }; 1275 } 1276 1277 var slicesOfTitle = []; 1278 if (indexOfTitle.length != 0) { 1279 slicesOfTitle.push(mergeIntoSlice(title, 0, title.length, indexOfTitle)); 1280 } 1281 1282 var slicesOfContent = []; 1283 while (indexOfContent.length != 0) { 1284 var item = indexOfContent[indexOfContent.length - 1]; 1285 var position = item.position; 1286 var word = item.word; 1287 // cut out 100 characters 1288 var start = position - 20; 1289 var end = position + 80; 1290 if(start < 0){ 1291 start = 0; 1292 } 1293 if (end < position + word.length) { 1294 end = position + word.length; 1295 } 1296 if(end > content.length){ 1297 end = content.length; 1298 } 1299 slicesOfContent.push(mergeIntoSlice(content, start, end, indexOfContent)); 1300 } 1301
1302 // sort slices in content by search text's count and hits' count 1303 1304 slicesOfContent.sort(function (sliceLeft, sliceRight) { 1305 if (sliceLeft.searchTextCount !== sliceRight.searchTextCount) { 1306 return sliceRight.searchTextCount - sliceLeft.searchTextCount; 1307 } else if (sliceLeft.hits.length !== sliceRight.hits.length) { 1308 return sliceRight.hits.length - sliceLeft.hits.length; 1309 } else { 1310 return sliceLeft.start - sliceRight.start; 1311 } 1312 }); 1313 1314 // select top N slices in content 1315 1316 var upperBound = parseInt('1'); 1317 if (upperBound >= 0) { 1318 slicesOfContent = slicesOfContent.slice(0, upperBound); 1319 } 1320 1321 // highlight title and content 1322 1323 function highlightKeyword(text, slice) { 1324 var result = ''; 1325 var prevEnd = slice.start; 1326 slice.hits.forEach(function (hit) { 1327 result += text.substring(prevEnd, hit.position); 1328 var end = hit.position + hit.length; 1329 result += '<b class="search-keyword">' + text.substring(hit.position, end) + '</b>'; 1330 prevEnd = end; 1331 }); 1332 result += text.substring(prevEnd, slice.end); 1333 return result; 1334 } 1335 1336 var resultItem = ''; 1337 1338 if (slicesOfTitle.length != 0) { 1339 resultItem += "<li><a href='" + articleUrl + "' class='search-result-title'>" + highlightKeyword(title, slicesOfTitle[0]) + "</a>"; 1340 } else { 1341 resultItem += "<li><a href='" + articleUrl + "' class='search-result-title'>" + title + "</a>"; 1342 } 1343 1344 slicesOfContent.forEach(function (slice) { 1345 resultItem += "<a href='" + articleUrl + "'>" + 1346 "<p class=\"search-result\">" + highlightKeyword(content, slice) + 1347 "...</p>" + "</a>"; 1348 }); 1349 1350 resultItem += "</li>"; 1351 resultItems.push({ 1352 item: resultItem, 1353 searchTextCount: searchTextCount, 1354 hitCount: hitCount, 1355 id: resultItems.length 1356 }); 1357 } 1358 }) 1359 }; 1360 if (keywords.length === 1 && keywords[0] === "") { 1361 resultContent.innerHTML = '<div id="no-result"><i class="fa fa-search fa-5x" /></div>' 1362 } else if (resultItems.length === 0) { 1363 resultContent.innerHTML = '<div id="no-result"><i class="fa fa-frown-o fa-5x" /></div>' 1364 } else { 1365 resultItems.sort(function (resultLeft, resultRight) { 1366 if (resultLeft.searchTextCount !== resultRight.searchTextCount) { 1367 return resultRight.searchTextCount - resultLeft.searchTextCount; 1368 } else if (resultLeft.hitCount !== resultRight.hitCount) { 1369 return resultRight.hitCount - resultLeft.hitCount; 1370 } else { 1371 return resultRight.id - resultLeft.id; 1372 } 1373 }); 1374 var searchResultList = '<ul class=\"search-result-list\">'; 1375 resultItems.forEach(function (result) { 1376 searchResultList += result.item; 1377 }) 1378 searchResultList += "</ul>"; 1379 resultContent.innerHTML = searchResultList; 1380 } 1381 } 1382 1383 if ('auto' === 'auto') { 1384 input.addEventListener('input', inputEventFunction); 1385 } else { 1386 $('.search-icon').click(inputEventFunction); 1387 input.addEventListener('keypress', function (event) { 1388 if (event.keyCode === 13) { 1389 inputEventFunction(); 1390 } 1391 }); 1392 } 1393 1394 // remove loading animation 1395 $(".local-search-pop-overlay").remove(); 1396 $('body').css('overflow', ''); 1397 1398 proceedsearch(); 1399 } 1400 }); 1401 } 1402 1403 // handle and trigger popup window; 1404 $('.popup-trigger').click(function(e) { 1405 e.stopPropagation(); 1406 if (isfetched === false) { 1407 searchFunc(path, 'local-search-input', 'local-search-result'); 1408 } else { 1409 proceedsearch(); 1410 }; 1411 }); 1412 1413 $('.popup-btn-close').click(onPopupClose); 1414 $('.popup').click(function(e){ 1415 e.stopPropagation(); 1416 }); 1417 $(document).on('keyup', function (event) { 1418 var shouldDismissSearchPopup = event.which === 27 && 1419 $('.search-popup').is(':visible'); 1420 if (shouldDismissSearchPopup) { 1421 onPopupClose(); 1422 } 1423 }); 1424 </script>
1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441
1441<script type="text/x-mathjax-config"> 1442 MathJax.Hub.Config({ 1443 tex2jax: { 1444 inlineMath: [ ['$','$'], ["\\(","\\)"] ], 1445 processEscapes: true, 1446 skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code'] 1447 } 1448 }); 1449 </script>
1449 1450 1451
1451<script type="text/x-mathjax-config"> 1452 MathJax.Hub.Queue(function() { 1453 var all = MathJax.Hub.getAllJax(), i; 1454 for (i=0; i < all.length; i += 1) { 1455 all[i].SourceElement().parentNode.className += ' has-jax'; 1456 } 1457 }); 1458 </script>
1458 1459
1459<script type="text/javascript" src="//cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469
1470<script src="/live2dw/lib/L2Dwidget.min.js?0c58a1486de42ac6cc1c59c7d98ae887"></script>
1470<script>L2Dwidget.init({"display":{"position":"right","width":150,"height":300},"mobile":{"show":false},"pluginRootPath":"live2dw/","pluginJsPath":"lib/","pluginModelPath":"assets/"});</script>
1470</body> 1471</html> 1472<!-- ç¦ç¨f12-->
1473<script src="https://fastly.jsdelivr.net/gh/wallleap/cdn/js/noSomeKey.js"></script>
1473 1474<!-- 页é¢ç¹å»å°çº¢å¿-->
1475<script type="text/javascript" src="/js/src/love.js"></script>
1475 1476
1477<script language="JavaScript"> 1478 window.onload = function(){ 1479 var script = document.createElement("script"); 1480var isOnPc = (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)); 1481 1482 1483if (!isOnPc) { 1484 1485 script.setAttribute("src","https://fastly.jsdelivr.net/gh/YSC168/[email protected]/js/sakura.js"); 1486 document.getElementsByTagName("body")[0].appendChild(script); 1487 } 1488 } 1489</script>
1489 1490 1491<!--å´©æºæ¬ºéª-->
1492<script type="text/javascript" src="/js/src/crash_cheat.js"></script>
1492 1493
1494<script type="text/javascript" src="/js/src/bg.js"></script>
vendor: 1 bytes, line 1494
1494
1495<script type="text/javascript" src="/js/src/instantclick-1.2.2.js.js"></script>
1495 1496 <!-- èèç½ --> 1497
1497<script type="text/javascript" src="https://cdn.bootcss.com/canvas-nest.js/1.0.1/canvas-nest.min.js"></script>
1497 1498 1499 <!-- é³ä¹ææ¾å¨ --> 1500 1501<!-- <div class="aplayer no-destroy" data-id="3778678" data-server="netease" data-type="playlist" data-fixed="true" data-mini="true" data-listFolded="false" data-order="random" data-lrctype="1" data-preload="none" data-autoplay="true" muted></div> 1502 1503<link rel="stylesheet" href="https://npm.elemecdn.com/aplayer/dist/APlayer.min.css" media="print" onload="this.media='all'">
1503<script src="https://npm.elemecdn.com/aplayer/dist/APlayer.min.js"></script>
1503<script src="https://npm.elemecdn.com/ethan4116-blog/lib/js/theme/meting.min.js"></script>
1503 --> <!-- 个人 --> 1504 1505<!-- <link rel="stylesheet" href="https://fastly.jsdelivr.net/npm/aplayer/dist/APlayer.min.css">
1505<script src="https://fastly.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script>
1505<script src="https://fastly.jsdelivr.net/gh/metowolf/[email protected]/dist/Meting.min.js"></script>
1505</script>
1505 --><!-- åä½è --> 1506 1507<!-- é³ä¹ææ¾å¨ --> 1508 <!-- 渲æå·¦ä¸è§é³ä¹ææ¾å¨ --> 1509 1510<meting-js 1511 class="" 1512 server="netease" 1513 type="playlist" 1514 id="3778678" 1515 fixed='true' 1516 autoplay='false' 1517 theme='#F2346B' 1518 loop='all' 1519 order='random' 1520 preload='auto' 1521 volume='0.7' 1522 list-folded='true' 1523> 1524</meting-js>
1525<script src="https://unpkg.com/[email protected]/dist/APlayer.min.js"></script>
vendor: 1 bytes, line 1525
1525
1526<script src="https://unpkg.com/meting@2/dist/Meting.min.js"></script>
vendor: 1 bytes, line 1526
1526
1527<script src="https://fastly.jsdelivr.net/gh/YSC168/[email protected]/js/cursor.js"></script>
vendor: 1 bytes, line 1527
1527
1528<script src="/js/src/cursor.js"></script>
1528<!-- æ¬æµ®ææ --> 1529 1530 1531<!-- è¾å ¥æ¡æåç¹æ --> 1532 1533
1533<script src="/js/src/activate-power-mode.js"></script>
1533 1534
1534<script> 1535 POWERMODE.colorful = true; // æå¼éæºé¢è²ç¹æ 1536 POWERMODE.shake = false; // å ³éè¾å ¥æ¡æå¨ 1537 document.body.addEventListener('input', POWERMODE);//ç嬿åäºä»¶ 1538 </script>
1538 1539 1540 1541 1542 1543 1544
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.