Help
RSS
API
Feed
Maltego
Contact
Domain > blog.nekoss.cn
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-07-26
43.159.99.20
(
ClassC
)
2025-11-21
155.102.54.149
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: ESADate: Fri, 21 Nov 2025 02:37:37 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveSet-Cookie: acw_tc2ff617a317636926573011142e1e7be007af0f20324e821af8486a63ae;path/;HttpOnly;Max-Age3600Set-Cookie: cdn_sec_tc2ff617a317636926573011142e1e7be007af0f20324e821af8486a63ae;path/;HttpOnly;Max-Age3600Location: https://blog.nekoss.cn/Via: ens-cache15.us22,0Timing-Allow-Origin: *EagleId: 2ff617a317636926573011142e !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN>html>head>title>301 Moved Permanently/title>style> body { font-family: Arial, sans-serif; background-color: #f4f4f9; color: #333; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; height: 100vh; text-align: center; } .container { background-color: white; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); padding: 30px; width: 100%; max-width: 600px; text-align: left; } h1 { color: #e74c3c; font-size: 2.5em; margin-bottom: 20px; } p { font-size: 1.2em; line-height: 1.6; margin-bottom: 20px; } table { width: 100%; margin-top: 20px; border-collapse: collapse; } table td { padding: 10px; border: 1px solid #ddd; } table td:first-child { font-weight: bold; background-color: #f9f9f9; } hr { border: 0; border-top: 2px solid #e74c3c; margin: 20px 0; } footer { font-size: 1em; color: #999; } img { margin-top: 20px; width: 100%; max-width: 100%; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } /style>script srchttps://rjsperf.myalicdn.com/auto.js>/script>/head>body>div classcontainer>h1>301 Moved Permanently/h1>p>The requested resource has been assigned a new permanent URI./p>hr/>Powered by ESA/div>/body>/html>
Port 443
HTTP/1.1 200 OKServer: ESAContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveVary: Accept-EncodingSet-Cookie: acw_tc2ff617a217636926573953091e2fcef17dea454d8054df178ff79d45bf;path/;HttpOnly;Max-Age3600Set-Cookie: cdn_sec_tc2ff617a217636926573953091e2fcef17dea454d8054df178ff79d45bf;path/;HttpOnly;Max-Age3600Alt-Svc: h3:443; ma86400, h2:443; ma86400date: Fri, 21 Nov 2025 02:37:37 GMTvary: Accept-Encodingvia: ens-cache23.l2de3325,0,DP, ens-cache14.us22473,0,DP, ens-cache14.us22478,0x-site-cache-status: DYNAMICstrict-transport-security: max-age31536000Timing-Allow-Origin: *EagleId: 2ff617a217636926573953091e !DOCTYPE html>html langzh-Hans>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1> title>猫猫博客 | 致你,也致我/title> link hrefhttps://blog.nekoss.cn/usr/themes/jasmine/assets/ms/font.css relstylesheet> link hrefhttps://blog.nekoss.cn/usr/themes/jasmine/assets/bootstrap/css/bootstrap.min.css relstylesheet/> link hrefhttps://blog.nekoss.cn/usr/themes/jasmine/assets/main/main.css relstylesheet/> link relstylesheet hrefhttps://blog.nekoss.cn/usr/themes/jasmine/assets/highlight/github-dark-dimmed.css> link relstylesheet hrefhttps://blog.nekoss.cn/usr/themes/jasmine/assets/ti/tabler-icons.min.css> link relshoucut icon hrefhttps://blog.nekoss.cn/usr/themes/jasmine/favicon.jpg> script srchttps://blog.nekoss.cn/usr/themes/jasmine/assets/highlight/highlight.min.js>/script> meta namedescription content致你,也致我 />meta namekeywords contenttypecho,php,blog,vps,服务器,搬瓦工,bwh,翻墙,fq,vpn,富强 />meta nametemplate contentjasmine />link relalternate typeapplication/rss+xml title猫猫博客 » RSS 2.0 hrefhttps://blog.nekoss.cn/feed/ />link relalternate typeapplication/rdf+xml title猫猫博客 » RSS 1.0 hrefhttps://blog.nekoss.cn/feed/rss/ />link relalternate typeapplication/atom+xml title猫猫博客 » ATOM 1.0 hrefhttps://blog.nekoss.cn/feed/atom/ />br />b>Deprecated/b>: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in b>/www/wwwroot/www.314520.xyz/usr/plugins/RobotsPlusPlus/Util.php/b> on line b>86/b>br /> /head>body classbg-auto>script> var dataBsTheme localStorage.getItem(data-bs-theme) if (!dataBsTheme) { dataBsTheme light } document.body.setAttribute(data-bs-theme, dataBsTheme) localStorage.setItem(data-bs-theme, dataBsTheme);/script>div styleheight: 60px idtop classd-none d-lg-block>/div>div classcontainer bg-body g-0 rounded shadow-sm> div classrow g-0>div classcol-lg-1 d-none d-lg-block border-end border-light-subtle> div classd-flex flex-column align-content-between justify-content-between pt-4 sticky-top idleft> ul classnav flex-column nav-pills gap-0 row-gap-3> li classnav-item d-flex justify-content-center mb-4> a classnav-link p-0 hrefhttps://blog.nekoss.cn/ title猫猫博客> img classrounded srchttps://ghfast.top/https://raw.githubusercontent.com/imbalaomao/picx-images-hosting/master/touxiang.4aye9nuxxos0.webp loadinglazy width50 height50 alt猫猫博客 /> /a> /li> li classnav-item d-flex justify-content-center position-relative> a classnav-link p-0 d-flex align-items-center justify-content-center hrefhttps://blog.nekoss.cn/ title猫猫博客> i classti ti-home>/i> /a> span classposition-absolute nav-item-title text-nowrap>猫猫博客/span> /li> /ul> ul classnav flex-column nav-pills gap-0 row-gap-3 sticky-bottom bottom-0> li classnav-item d-flex justify-content-center position-relative> a classnav-link p-0 d-flex align-items-center justify-content-center idbd-theme hrefjavascript:changeBsTheme()> i classti ti-sun-moon px-3 py-1 rounded>/i> /a> span classposition-absolute nav-item-title text-nowrap>切换模式/span> /li> li classnav-item d-flex justify-content-center position-relative> a classnav-link p-0 d-flex align-items-center justify-content-center href#top> i classti ti-chevrons-up px-3 py-1 rounded>/i> /a> span classposition-absolute nav-item-title text-nowrap>返回顶部/span> /li> /ul> /div>/div> div classcol-md-12 col-lg-8 idmiddle> nav classnavbar navbar-expand-lg border-bottom py-0 fw-medium sticky-top navbar-background border-light-subtle bg-body bg-opacity-75> div classcontainer-fluid p-lg-4 px-4 py-3 itemproppublisher itemscope itemtypehttps://schema.org/Organization> a classnavbar-brand d-block d-lg-none nav-link p-0 d-flex align-items-center justify-content-center column-gap-1 hrefhttps://blog.nekoss.cn/> img srchttps://ghfast.top/https://raw.githubusercontent.com/imbalaomao/picx-images-hosting/master/touxiang.4aye9nuxxos0.webp alt猫猫博客 width42 loadinglazy height42 classd-inline-block align-text-top rounded itemscope itemtypehttps://schema.org/ImageObject /> 猫猫博客 meta itempropname content猫猫博客> meta itempropurl contenthttps://blog.nekoss.cn/> /a> div classd-flex d-block d-lg-none> a classnav-link p-0 d-flex align-items-center justify-content-center idbd-theme hrefjavascript:changeBsTheme()> i classti ti-sun-moon px-3 py-1 rounded fs-5>/i> /a> button classnavbar-toggler border-0 pe-0 typebutton data-bs-toggleoffcanvas href#mobile-navbar rolebutton aria-controlsmobile-navbar> span classnavbar-toggler-icon>/span> /button> /div> div classcollapse navbar-collapse pt-3 pt-lg-0 overflow-x-auto idnavbarNav> ul classnavbar-nav column-gap-5 me-auto flex-lg-wrap flex-nowrap list-group-horizontal idnavbarNavLeft> li classnav-item> a classnav-link px-0 py-0 text-nowrap active hrefhttps://blog.nekoss.cn/ title猫猫博客> 首页 /a> /li> li classnav-item> a classnav-link px-0 py-0 text-nowrap hrefhttps://blog.nekoss.cn/category/vps/> VPS /a> /li> li classnav-item> a classnav-link px-0 py-0 text-nowrap hrefhttps://blog.nekoss.cn/category/repost/> 转载 /a> /li> li classnav-item> a classnav-link px-0 py-0 text-nowrap hrefhttps://blog.nekoss.cn/category/daily/> 日常 /a> /li> li classnav-item> a classnav-link px-0 py-0 text-nowrap hrefhttps://blog.nekoss.cn/category/bangumi/> 番剧 /a> /li> li classnav-item> a classnav-link px-0 py-0 text-nowrap hrefhttps://blog.nekoss.cn/category/gfw/> 富强 /a> /li> li classnav-item> a classnav-link px-0 py-0 text-nowrap hrefhttps://blog.nekoss.cn/category/skills/> 技巧 /a> /li> li classnav-item> a classnav-link px-0 py-0 text-nowrap hrefhttps://blog.nekoss.cn/category/turorial/> 教程 /a> /li> /ul> ul classnav column-gap-4 ms-auto d-none d-lg-block> li classnav-item> form methodpost classd-flex text-body-secondary> a classnav-link p-0 d-flex align-items-center justify-content-center px-2 py-2 rounded-circle idform-search-icon onclickclickSearchIcon(search-input) stylecursor: pointer;> i classti ti-search>/i> /a> input typetext names classtext border-0 px-1 text-body-secondary placeholder输入关键字搜索 autocompleteoff idsearch-input/> /form> /li> /ul> /div> /div>/nav>div classoffcanvas offcanvas-start w-75 tabindex-1 idmobile-navbar aria-labelledbymobile-navbarLabel> div classoffcanvas-header> h5 classoffcanvas-title idmobile-navbarLabel>导航/h5> button typebutton classbtn-close lh-sm data-bs-dismissoffcanvas aria-labelClose> i classti ti-x>/i> /button> /div> div classoffcanvas-body> div classd-flex flex-column row-gap-4 align-content-between justify-content-between h-100> div classd-flex flex-column row-gap-4 navbar-nav itemtypehttp://schema.org/SiteNavigationElement> div classlist-group> a classlist-group-item list-group-item-action active border-0 hrefhttps://blog.nekoss.cn/ title猫猫博客> 首页 /a> a classlist-group-item list-group-item-action hrefhttps://blog.nekoss.cn/category/vps/ aria-labelVPS> VPS /a> a classlist-group-item list-group-item-action hrefhttps://blog.nekoss.cn/category/repost/ aria-label转载> 转载 /a> a classlist-group-item list-group-item-action hrefhttps://blog.nekoss.cn/category/daily/ aria-label日常> 日常 /a> a classlist-group-item list-group-item-action hrefhttps://blog.nekoss.cn/category/bangumi/ aria-label番剧> 番剧 /a> a classlist-group-item list-group-item-action hrefhttps://blog.nekoss.cn/category/gfw/ aria-label富强> 富强 /a> a classlist-group-item list-group-item-action hrefhttps://blog.nekoss.cn/category/skills/ aria-label技巧> 技巧 /a> a classlist-group-item list-group-item-action hrefhttps://blog.nekoss.cn/category/turorial/ aria-label教程> 教程 /a> /div> form methodpost classd-flex column-gap-2 text-body-secondary w-100> input typetext names classform-control placeholder输入关键字搜索 autocompleteoff> button classbtn typesubmit>i classti ti-search>/i>/button> /form> /div> div classd-flex column-gap-3 justify-content-between bg-secondary-subtle rounded py-2 px-3 flex-wrap> a hrefhttps://blog.nekoss.cn/ title猫猫博客> i classti ti-home>/i> /a> /div> /div> /div>/div> div classcontainer-fluid p-4 d-flex flex-column row-gap-4 idindex-content> article classcard border-0 py-3 col-12 itemscopeitemscope itemtypehttp://schema.org/Article> div classd-flex column-gap-2 overflow-hidden> div classcard-body p-0 d-flex flex-column justify-content-between row-gap-1> h3 classcard-title fs-4 fw-normal itempropheadline> a hrefhttps://blog.nekoss.cn/archives/13/ title【机场测评】目前用过的机场评价 aria-label【机场测评】目前用过的机场评价> 【机场测评】目前用过的机场评价 /a> /h3> p classcard-text more text-body-secondary itempropabout>突发奇想搞一搞,把自己用过的机场都评测一下,方便以后查看(后续再更新)观前提示本人网络环境如下,请其他网络环境的用户自行测试:运营商:.../p> p classcard-text> small classtext-body-tertiary> a hrefhttps://blog.nekoss.cn/category/gfw/>富强/a> · 2024-08-25 · span classtop-up-flag fw-semibold>置顶/span> /small> /p> /div> /div> meta itempropauthor contentadmin /> meta itemproppublisher content猫猫博客 /> meta itempropdateModified content2024-08-25T00:46:00+08:00 /> /article> article classcard border-0 py-3 col-12 itemscopeitemscope itemtypehttp://schema.org/Article> div classd-flex column-gap-2 overflow-hidden> div classcard-body p-0 d-flex flex-column justify-content-between row-gap-1> h3 classcard-title fs-4 fw-normal itempropheadline> a hrefhttps://blog.nekoss.cn/archives/16/ title【教程】Emby Windows端使用概论 aria-label【教程】Emby Windows端使用概论> 【教程】Emby Windows端使用概论 /a> /h3> p classcard-text more text-body-secondary itempropabout>1. 浏览器观看⚠️注意:浏览器本身的解码较弱,播放时会出现「没有兼容的流」提示,本方法仅介绍结合脚本调用本地播放器进行观看,除此以外.../p> p classcard-text> small classtext-body-tertiary> a hrefhttps://blog.nekoss.cn/category/turorial/>教程/a> · 2024-03-20 · span classtop-up-flag fw-semibold>置顶/span> /small> /p> /div> a hrefhttps://blog.nekoss.cn/archives/16/ classrounded ms-auto border border-light-subtle thumbnail d-none d-lg-block title【教程】Emby Windows端使用概论 stylebackground-image: url(https://ghfast.top/https://raw.githubusercontent.com/imbalaomao/picx-images-hosting/master/GFxEfWvXIAAS5Zx.7ljr3vpkyi.png)>/a> /div> meta itempropauthor contentadmin /> meta itemproppublisher content猫猫博客 /> meta itempropdateModified content2024-03-20T18:52:00+08:00 /> meta itempropimage contenthttps://ghfast.top/https://raw.githubusercontent.com/imbalaomao/picx-images-hosting/master/GFxEfWvXIAAS5Zx.7ljr3vpkyi.png /> /article> article classcard border-0 py-3 col-12 block itemscopeitemscope itemtypehttp://schema.org/Article> div classd-flex column-gap-2 overflow-hidden> div classcard-body p-0 d-flex flex-column justify-content-between row-gap-1> h3 classcard-title fs-5 fw-normal itempropheadline> a hrefhttps://blog.nekoss.cn/archives/116/ title【分享】IDM的替代品们>【分享】IDM的替代品们/a> /h3> p classcard-text more text-body-secondary itempropabout>前言IDM目前国内的代理商据说已变成 思杰马克丁,其流氓级的代理和对盗版的坚决打击闻名遐迩,因此我们需要有一个IDM的替代来更好的下载.../p> p classcard-text> small classtext-body-tertiary>a hrefhttps://blog.nekoss.cn/category/turorial/>教程/a> · 2025-08-24 /small> /p> /div> /div> meta itempropauthor contentadmin /> meta itemproppublisher content猫猫博客 /> meta itempropdatePublished content2025-08-24T19:02:00+08:00 /> meta itempropdateModified content2025-08-24T19:02:00+08:00 /> /article> article classcard border-0 py-3 col-12 block itemscopeitemscope itemtypehttp://schema.org/Article> div classd-flex column-gap-2 overflow-hidden> div classcard-body p-0 d-flex flex-column justify-content-between row-gap-1> h3 classcard-title fs-5 fw-normal itempropheadline> a hrefhttps://blog.nekoss.cn/archives/115/ title【小鸡测评】Backwaves JP Global>【小鸡测评】Backwaves JP Global/a> /h3> p classcard-text more text-body-secondary itempropabout>该小鸡是论坛抽奖抽中的,正好测一下小鸡的各项情况💻基本信息Basic System Information:------------.../p> p classcard-text> small classtext-body-tertiary>a hrefhttps://blog.nekoss.cn/category/vps/>VPS/a> · 2025-07-04 /small> /p> /div> /div> meta itempropauthor contentadmin /> meta itemproppublisher content猫猫博客 /> meta itempropdatePublished content2025-07-04T15:04:00+08:00 /> meta itempropdateModified content2025-07-04T15:04:00+08:00 /> /article> article classcard border-0 py-3 col-12 block itemscopeitemscope itemtypehttp://schema.org/Article> div classd-flex column-gap-2 overflow-hidden> div classcard-body p-0 d-flex flex-column justify-content-between row-gap-1> h3 classcard-title fs-5 fw-normal itempropheadline> a hrefhttps://blog.nekoss.cn/archives/114/ title【技巧】如何调整irfanview的窗口位置>【技巧】如何调整irfanview的窗口位置/a> /h3> p classcard-text more text-body-secondary itempropabout>由于IrfanView默认设置,每次打开图片窗口都会在屏幕最左边,其实还是挺烦的,不过根据 官方FAQ,在设置中点击“查看”--“窗口.../p> p classcard-text> small classtext-body-tertiary>a hrefhttps://blog.nekoss.cn/category/skills/>技巧/a> · 2025-06-29 /small> /p> /div> /div> meta itempropauthor contentadmin /> meta itemproppublisher content猫猫博客 /> meta itempropdatePublished content2025-06-29T12:30:57+08:00 /> meta itempropdateModified content2025-06-29T12:30:57+08:00 /> /article> article classcard border-0 py-3 col-12 block itemscopeitemscope itemtypehttp://schema.org/Article> div classd-flex column-gap-2 overflow-hidden> div classcard-body p-0 d-flex flex-column justify-content-between row-gap-1> h3 classcard-title fs-5 fw-normal itempropheadline> a hrefhttps://blog.nekoss.cn/archives/113/ title【小鸡测评】CNFaster HKLite-Pro>【小鸡测评】CNFaster HKLite-Pro/a> /h3> p classcard-text more text-body-secondary itempropabout>💻基本信息Basic System Information:---------------------------------Up.../p> p classcard-text> small classtext-body-tertiary>a hrefhttps://blog.nekoss.cn/category/vps/>VPS/a> · 2025-06-29 /small> /p> /div> /div> meta itempropauthor contentadmin /> meta itemproppublisher content猫猫博客 /> meta itempropdatePublished content2025-06-29T12:30:33+08:00 /> meta itempropdateModified content2025-06-29T12:30:33+08:00 /> /article> article classcard border-0 py-3 col-12 block itemscopeitemscope itemtypehttp://schema.org/Article> div classd-flex column-gap-2 overflow-hidden> div classcard-body p-0 d-flex flex-column justify-content-between row-gap-1> h3 classcard-title fs-5 fw-normal itempropheadline> a hrefhttps://blog.nekoss.cn/archives/112/ title【AniLive】安卓系统使用“雨见浏览器”教程>【AniLive】安卓系统使用“雨见浏览器”教程/a> /h3> p classcard-text more text-body-secondary itempropabout>Intro> 由于 Kiwi 浏览器作者已经放弃更新,因此其对插件的支持已经大不如前,而新兴的国产浏览器“雨见”恰好填上了这个空.../p> p classcard-text> small classtext-body-tertiary>a hrefhttps://blog.nekoss.cn/category/turorial/>教程/a> · 2025-06-29 /small> /p> /div> /div> meta itempropauthor contentadmin /> meta itemproppublisher content猫猫博客 /> meta itempropdatePublished content2025-06-29T12:30:11+08:00 /> meta itempropdateModified content2025-06-29T12:30:11+08:00 /> /article> div classcol-12 d-flex justify-content-center align-items-center my-3 idpagination> nav aria-labelPage navigation> ul classpagination justify-content-center align-items-center column-gap-3 my-0>li classcurrent>a hrefhttps://blog.nekoss.cn/page/1/>1/a>/li>li>a hrefhttps://blog.nekoss.cn/page/2/>2/a>/li>li>span>.../span>/li>li>a hrefhttps://blog.nekoss.cn/page/19/>19/a>/li>li classnext>a hrefhttps://blog.nekoss.cn/page/2/>»/a>/li>/ul> /nav> /div> /div> /div>div classcol-lg-3 sticky-bottom d-none d-lg-block border-start border-light-subtle idright> div classcontainer-fluid p-4 border-bottom border-light-subtle> div classrow gap-2> div classcol-12> p classtext-body-secondary text-truncate mb-0 fs-6 py-1> 致你,也致我 /p> /div> /div> /div> div classsticky-top> div classcontainer-fluid p-4 mt-3 border-bottom border-light-subtle> div classrow gap-2> div classcol-12> div classcol-12 d-flex gap-1 align-content-center> i classti ti-chart-bar lh-base>/i> h6 classlh-base>热门文章/h6> /div> /div> div classcol-12> div classtext-body-secondary styleline-height: 32px> ul classlist-group list-group-flush> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/archives/116/ title【分享】IDM的替代品们> 【分享】IDM的替代品们 /a> /li> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/archives/115/ title【小鸡测评】Backwaves JP Global> 【小鸡测评】Backwaves JP Global /a> /li> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/archives/114/ title【技巧】如何调整irfanview的窗口位置> 【技巧】如何调整irfanview的窗口位置 /a> /li> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/archives/113/ title【小鸡测评】CNFaster HKLite-Pro> 【小鸡测评】CNFaster HKLite-Pro /a> /li> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/archives/112/ title【AniLive】安卓系统使用“雨见浏览器”教程> 【AniLive】安卓系统使用“雨见浏览器”教程 /a> /li> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/archives/111/ title【小鸡测评】阿里云国际免费服务器> 【小鸡测评】阿里云国际免费服务器 /a> /li> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/archives/110/ title【小鸡测评】搬瓦工BIGGERBOX DC99> 【小鸡测评】搬瓦工BIGGERBOX DC99 /a> /li> /ul> /div> /div> /div>/div> div classcontainer-fluid p-4 mt-3 border-bottom border-light-subtle> div classrow gap-2> div classcol-12 d-flex gap-1 align-content-center justify-content-start fw-medium> i classti ti-message lh-base>/i> h6 classlh-base>最新评论/h6> /div> div classcol-12> div classtext-body-tertiary styleline-height: 32px> ul classlist-group list-group-flush> /ul> /div> /div> /div>/div> div classcontainer-fluid p-4 mt-3 border-bottom border-light-subtle> div classrow gap-2> div classcol-12 d-flex gap-1 align-content-center justify-content-start fw-medium> i classti ti-tags lh-base>/i> h6 classlh-base>热门标签/h6> /div> div classcol-12> div classtext-body-secondary styleline-height: 32px> ul classlist-group flex-wrap list-group-horizontal row-gap-1 column-gap-3> /ul> /div> /div> /div>/div> div classcontainer-fluid p-4 mt-3> div classrow gap-2> div classcol-12 d-flex gap-1 align-content-center justify-content-start fw-medium> i classti ti-link lh-base>/i> h6 classlh-base> 网站链接 /h6> /div> div classcol-12> div classtext-body-secondary styleline-height: 32px> ul classlist-group list-group-flush> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/feed/ titleRSS 订阅> RSS 订阅 /a> /li> li classlist-group-item p-0 border-0> a hrefhttps://blog.nekoss.cn/sitemap.xml title网站地图> 网站地图 /a> /li> /ul> /div> /div> /div>/div> /div>/div> /div>/div>div styleheight: 80px>/div>div classcontainer text-body-tertiary> div classrow> div classcol-12> i classti ti-copyright>/i> 猫猫博客. All Rights Reserved. a hrefhttps://www.sanji.one relnofollow target_blank>Theme Jasmine by Kent Liao./a> /div> div classcol-12> footer classfooter> div> 当前博客已在风雨中运行了:span idrun-time>/span> /div> div> a hrefhttps://beian.miit.gov.cn/ target_blank>渝ICP备2024020975号/a> span classfooter-line>|/span> a hrefhttps://beian.mps.gov.cn/#/query/webSearch?code50010802006020 target_blank> 渝公网安备50010802006020号 /a> span classfooter-line>|/span> a hrefhttps://icp.gov.moe/?keyword20240422 target_blank>萌ICP备20240422号/a> /div> div> a hrefhttps://live.nekoss.cn target_blank>AniLive放映室/a> span classfooter-line>|/span> a hrefhttps://docs.qq.com/sheet/DQkxpQWxNbUVjQ1pE?tabw90ppb target_blank>AniLive资料库/a> /div>/footer>script> function updateRunTime() { // 设置建站时间 (2020年4月21日15时22分00秒) const startDate new Date(2020-04-21T15:22:00); const now new Date(); // 计算时间差 let years now.getFullYear() - startDate.getFullYear(); let months now.getMonth() - startDate.getMonth(); let days now.getDate() - startDate.getDate(); let hours now.getHours() - startDate.getHours(); let minutes now.getMinutes() - startDate.getMinutes(); let seconds now.getSeconds() - startDate.getSeconds(); // 处理借位 if (seconds 0) { seconds + 60; minutes--; } if (minutes 0) { minutes + 60; hours--; } if (hours 0) { hours + 24; days--; } if (days 0) { // 获取上一个月的总天数 const lastMonth new Date(now.getFullYear(), now.getMonth(), 0); days + lastMonth.getDate(); months--; } if (months 0) { months + 12; years--; } // 将结果显示到页面上 const runTimeSpan document.getElementById(run-time); if (runTimeSpan) { // 检查元素是否存在 runTimeSpan.textContent `${years}年${months}月${days}日${hours}时${minutes}分${seconds}秒`; } } // 每秒钟更新一次时间 setInterval(updateRunTime, 1000); // 页面加载时立即执行一次,避免初始空白 document.addEventListener(DOMContentLoaded, updateRunTime);/script>!-- Cloudflare Web Analytics -->script defer srchttps://static.cloudflareinsights.com/beacon.min.js data-cf-beacon{token: 7d469c8abcec4b3e8c08c104d727b9b1}>/script>!-- End Cloudflare Web Analytics --> /div> /div>/div>script srchttps://blog.nekoss.cn/usr/themes/jasmine/assets/bootstrap/js/bootstrap.bundle.min.js>/script>script srchttps://blog.nekoss.cn/usr/themes/jasmine/assets/main/main.js>/script> script> (function () { function loadFontAwesome() { if (document.querySelector(.fa)) { let rel document.createElement(link); rel.rel stylesheet; rel.href https://cdn.jsdmirror.com/npm/font-awesome@4.7.0/css/font-awesome.min.css; document.body.appendChild(rel); } } loadFontAwesome(); document.addEventListener(pjax:complete, () > { loadFontAwesome(); }); })(); /script> script idMathJax-script async srchttps://cdn.jsdmirror.com/npm/mathjax@3/es5/tex-mml-chtml.js>/script> script> // 配置 MathJax MathJax { tex: { inlineMath: $, $, displayMath: $$, $$, processEscapes: true, processEnvironments: true, }, options: { skipHtmlTags: script, noscript, style, textarea, pre, }, }; // 刷新预时重新渲染 document.addEventListener(pjax:complete, () > { try { MathJax.typesetPromise(); } catch (e) { } }); /script> style> .x-hide{background-color:#f3f4f6;border:1px solid #ccc;border-radius:4px;padding:32px 8px 8px;position:relative}.x-hide br:first-child{display:none}.x-hide.already-hide{text-align:center}.x-hide .x-hide-icon{fill:currentColor;cursor:pointer;display:flex;height:16px;position:absolute;right:8px;top:8px;width:16px}.x-hide .x-hide-icon svg{margin-top:-4px}.x-hide .x-hide-text{cursor:pointer;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.x-hide:before{background:#fc625d;border-radius:50%;box-shadow:20px 0 #fdbc40,40px 0 #35cd4b;content:;height:12px;left:8px;position:absolute;top:10px;width:12px;z-index:1}.x-hide.blur .x-hide-text{filter:blur(5px)}.x-checkbox{display:none}.x-checkbox-label{background-color:#99f;border-radius:4px;box-sizing:border-box;cursor:not-allowed;display:inline-flex;height:20px;margin-bottom:2px;-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTUgM2MtMS4wOTMgMC0yIC45MDctMiAydjE0YzAgMS4wOTMuOTA3IDIgMiAyaDE0YzEuMDkzIDAgMi0uOTA3IDItMlY1YzAtMS4wOTMtLjkwNy0yLTItMkg1em0wIDJoMTR2MTRINVY1eiIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTUgM2MtMS4wOTMgMC0yIC45MDctMiAydjE0YzAgMS4wOTMuOTA3IDIgMiAyaDE0YzEuMDkzIDAgMi0uOTA3IDItMlY1YzAtMS4wOTMtLjkwNy0yLTItMkg1em0wIDJoMTR2MTRINVY1eiIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:relative;vertical-align:middle;width:20px}.x-checkbox:checked+.x-checkbox-label{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTUgM2MtMS4wOTMgMC0yIC45MDctMiAydjE0YzAgMS4wOTMuOTA3IDIgMiAyaDE0YzEuMDkzIDAgMi0uOTA3IDItMlY1YzAtMS4wOTMtLjkwNy0yLTItMkg1em0wIDJoMTR2MTRINVY1em0xMS4yOTMgMy4yOTNMMTAgMTQuNTg2bC0yLjI5My0yLjI5My0xLjQxNCAxLjQxNEwxMCAxNy40MTRsNy43MDctNy43MDctMS40MTQtMS40MTR6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz4);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTUgM2MtMS4wOTMgMC0yIC45MDctMiAydjE0YzAgMS4wOTMuOTA3IDIgMiAyaDE0YzEuMDkzIDAgMi0uOTA3IDItMlY1YzAtMS4wOTMtLjkwNy0yLTItMkg1em0wIDJoMTR2MTRINVY1em0xMS4yOTMgMy4yOTNMMTAgMTQuNTg2bC0yLjI5My0yLjI5My0xLjQxNCAxLjQxNEwxMCAxNy40MTRsNy43MDctNy43MDctMS40MTQtMS40MTR6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz4)}/*# sourceMappingURLx.css.map*/ /style> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Bookmarklet/index.css?ha5a8692b8ade94af2718b92ab31093a0> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Button/index.css?hba3c0ebe9a3532c356697712b9425b68> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Card/index.css?hf0393754ec8ddb0d252a96ee9b6ee012> script> function xCardInit() { const xCards document.querySelectorAll(.x-cards-wrapper:not(x-card-inited)); for (let i 0; i xCards.length; i++) { xCardsi.setAttribute(x-card-inited, true); xCardsi.querySelectorAll(:scope>br).forEach(br > br.parentNode.removeChild(br)); xCardsi.querySelectorAll(:scope>.x-card).forEach((card) > { card.firstElementChild.addEventListener(click, (e) > { let wrapper e.currentTarget.closest(.x-cards-wrapper); let currentCard e.currentTarget.closest(.x-card); let isFold currentCard.classList.contains(fold); if (wrapper.getAttribute(type) blinds) { wrapper.querySelectorAll(.x-card).forEach((card) > { card.classList.add(fold); }); } if (isFold) { currentCard.classList.remove(fold); } else { currentCard.classList.add(fold); } }); }) } } document.addEventListener(DOMContentLoaded, xCardInit); document.addEventListener(pjax:complete, xCardInit); document.addEventListener(XMPreviewEnd, xCardInit); /script> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Codepen/index.css?h8def6cb01e202f4e5fa91f30c9dfeb27> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/GithubCard/index.css?h30a3c5f7f8e7709c2a199d6234aa5b01> script> customElements.define( x-github, class xGithub extends HTMLElement { constructor() { super(); this.init(); } async init() { const url this.getAttribute(url)?.trim(); if (!url) { this.innerHTML ``; return; } const is_github url.includes(github.com); const is_gitee url.includes(gitee.com); const regex this.getRegex(is_github, is_gitee); const match regex.exec(url); if (match) { // Ensure the repository part is present const platform is_github ? github : gitee; if (match1.length > 0 && match2 / && match3.length > 0) { const , user, , repo match; const cacheKey `${platform}-repo:${user}/${repo}`; const cache this.getWithExpiry(cacheKey); if (cache) { const json JSON.parse(cache); this.renderRepo(json, is_gitee); } else { const api this.getRepoApiUrl(is_github, is_gitee, user, repo); if (!api) return; try { const response await fetch(api); const json await response.json(); this.renderRepo(json, is_gitee); this.setWithExpiry(cacheKey, JSON.stringify(json), 86400); } catch (error) { console.error(Error fetching API:, error); } } } else if ((match2 ! / && match3.length > 0) || (match2 / && !match3.length > 0)) { const user match3.length ? match3 : match1; const cacheKey `${platform}-user:${user}`; const cache this.getWithExpiry(cacheKey); if (cache) { const json JSON.parse(cache); this.renderUser(json, is_gitee); } else { const api this.getUserApiUrl(is_github, is_gitee, user); if (!api) return; try { const response await fetch(api); const json await response.json(); this.renderUser(json, is_gitee); this.setWithExpiry(cacheKey, JSON.stringify(json), 86400); } catch (error) { console.error(Error fetching API:, error); } } } else { this.innerHTML `Invalid URL format.`; } } else { this.innerHTML `Invalid URL format.`; } } getRegex(is_github, is_gitee) { if (is_github) { return /(?:git@|https?:\/\/)github.com\/(^\/*)(\/?)(?\/)(.\w-*?)/is; } else if (is_gitee) { return /https?:\/\/gitee.com\/(^\/*)(\/?)(?\/)(.\w-*?)/is; } else { return /(^\/+)\/(^\/+)/i; } } getRepoApiUrl(is_github, is_gitee, user, repo) { if (is_github) { return `https://api.github.com/repos/${user}/${repo}`; } else if (is_gitee) { return `https://gitee.com/api/v5/repos/${user}/${repo}`; } return null; } getUserApiUrl(is_github, is_gitee, user) { if (is_github) { return `https://api.github.com/users/${user}`; } else if (is_gitee) { return `https://gitee.com/api/v5/users/${user}`; } } renderRepo(json, is_gitee) { const icon is_gitee ? this.giteeIcon() : this.githubIcon(); this.innerHTML this.parseRepoHTML(json, icon); if (is_gitee) { this.querySelector(.download-zip).style.display none; } } renderUser(json, is_gitee) { const icon is_gitee ? this.giteeIcon() : this.githubIcon(); this.innerHTML this.parseUserHTML(json, icon); } parseRepoHTML(json, icon) { return `div classx-github> div classx-github-title> span classicon>${icon}/span> a classuser reset href${json.owner.html_url} target_blank>${json.owner.login}/a> span>//span> a classx-github-repository reset href${json.html_url} target_blank>${json.name}/a> div classx-github-statics> span classforks>${this.forksIcon()}${json.forks_count}/span> span classslash>//span> span classstars>${this.starsIcon()}${json.stargazers_count}/span> /div> /div> div classx-github-content>${json.description}/div> div classx-github-footer> a classx-github-btn secondary reset href${json.html_url} target_blank>span classx-github-btn-content>仓库/span>/a> a classx-github-btn warning download-zip reset href${json.html_url}/zipball/master target_blank>span classx-github-btn-content>下载 zip 文件/span>/a> /div> /div>`; } parseUserHTML(json, icon) { return `div classx-github x-github-user>a classreset href${json.html_url} target_blank> span classicon>${icon}/span> span classname>${json.login}(${json.name})/span>/a>`; } giteeIcon() { return `svg fill#C71D23 width16px height16px viewBox0 0 24 24 roleimg xmlnshttp://www.w3.org/2000/svg> path dM11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.016 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.592.592 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296z/> /svg>`; } githubIcon() { return `svg width20 height20 fillnone strokecurrentColor viewBox0 0 496 512 xmlnshttp://www.w3.org/2000/svg> path fillcurrentColor stroke-linecapround stroke-linejoinround stroke-width2 dM165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.3-114.8 110.5 9.2 8 17.3 23.2 17.3 47.1 0 33.7-.3 74.9-.3 82.7 0 6.5 4.6 14.7 17.6 12.1C426.2 457.9 496 362.9 496 252 496 113.3 383.5 8 244.8 8z/> /svg>`; } forksIcon() { return `svg viewBox0 0 16 16 width16 height16 aria-hiddentrue> path fill-ruleevenodd fillcurrentColor dM5 3.09V12.9c-.6.3-1 .8-1 1.4 0 .8.8 1.7 2 1.7s2-.9 2-1.7c0-.6-.4-1.1-1-1.4v-4h3v.9c-.6.3-1 .8-1 1.4 0 .8.8 1.7 2 1.7s2-.9 2-1.7c0-.6-.4-1.1-1-1.4V6.09c.6-.3 1-.8 1-1.4 0-.8-.8-1.7-2-1.7s-2 .9-2 1.7c0 .6.4 1.1 1 1.4v2H7v-2c.6-.3 1-.8 1-1.4 0-.8-.8-1.7-2-1.7s-2 .9-2 1.7c0 .6.4 1.1 1 1.4z>/path> /svg>`; } starsIcon() { return `svg viewBox0 0 16 16 width16 height16 aria-hiddentrue> path fill-ruleevenodd fillcurrentColor dM8 12.7l-4.3 2.3c-.5.3-1-.2-.8-.8l.8-4.7-3.5-3.4c-.4-.4-.2-1.1.4-1.2l4.8-.7 2.2-4.5c.3-.5 1-.5 1.2 0l2.2 4.5 4.8.7c.6.1.8.8.4 1.2l-3.5 3.4.8 4.7c.1.6-.5 1.1-.9.8L8 12.7z>/path> /svg>`; } setWithExpiry(key, value, ttl) { const now new Date(); const item { value: value, expiry: now.getTime() + ttl * 1000, }; localStorage.setItem(key, JSON.stringify(item)); } getWithExpiry(key) { const itemStr localStorage.getItem(key); if (!itemStr) return null; const item JSON.parse(itemStr); const now new Date(); if (now.getTime() > item.expiry) { localStorage.removeItem(key); return null; } return item.value; } } ); /script> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/LinkCard/index.css?h0560c9d9c45287db1e1c0d75f10c6ffb> script> customElements.define( x-link, class xLink extends HTMLElement { constructor() { super(); this.options { title: this.getAttribute(title) || this.getAttribute(url) || , url: this.getAttribute(url), icon: this.getAttribute(icon) || https://blog.nekoss.cn/usr/plugins/AAEditor/index.php?url + this.getAttribute(url), } if (this.options.url) { this.outerHTML ` a classx-link href${this.options.url} target_blank> div classx-link-backdrop>/div> div classx-link-content> span classx-link-title>${this.options.title}/span> span classx-link-icon stylebackground-image: url(${this.options.icon})>/span> /div> /a> `; } } } ); /script> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Photos/index.css?h57bb581c02dacdc99aab4e065931f09e> script> (function () { const fsLightboxEnabled () > typeof fsLightbox ! undefined; const processEmptyParagraph (p) > p.outerHTML p.innerHTML; function renderPhotos() { document.querySelectorAll(.x-photos:not(inited)).forEach((album, i) > { album.setAttribute(inited, true); album.querySelectorAll(:scope>p).forEach(processEmptyParagraph); if (fsLightboxEnabled()) { let title album.getAttribute(title) || ; let images Array.from(album.children); images.forEach((child) > { if (child.tagName IMG) { child.style.removeProperty(aspect-ratio); child.removeAttribute(width); child.removeAttribute(height); if (child.parentNode.tagName ! A) { child.outerHTML `a classphoto data-fslightboxgallery-${i} data-typeimage href${child.src}>${child.outerHTML}/a>`; } else { child.parentNode.classList.add(photo); child.parentNode.setAttribute(data-fslightbox, `gallery-${i}`); } } else { child.remove(); } }); if (title.length 0) title {count} 张; else title {title}: {count} 张.replace({title}, title); title title.replace({count}, album.querySelectorAll(img).length); album.insertAdjacentHTML(afterbegin, `div classx-photos-title>span>${title}/span>/div>`); } else { album.setAttribute(show-all, true); let widthBase album.clientWidth > 960 ? 200 : (album.clientWidth > 640 ? 150 : 100); Array.from(album.childNodes).forEach(c > { if (c.tagName IMG) { if (c.style.apsectRatio) { return; } let img new Image(); img.src c.src; let wrap document.createElement(div), i document.createElement(i); wrap.className photo; album.insertBefore(wrap, c); wrap.appendChild(i); wrap.appendChild(c); c.classList.add(parsed); if (img.complete) { wrap.style.width img.width * widthBase / img.height + px; wrap.style.flexGrow img.width * widthBase / img.height; i.style.paddingBottom img.height / img.width * 100 + %; } else { img.addEventListener(load, function () { wrap.style.width img.width * widthBase / img.height + px; wrap.style.flexGrow img.width * widthBase / img.height; i.style.paddingBottom img.height / img.width * 100 + %; }); } } else if (c.tagName a && c.querySelector(img)) { a.classList.add(photo); c.querySelector(img).classList.add(parsed); let img new Image(); img.src c.src; let i document.createElement(i); c.appendChild(i); if (img.complete) { c.style.width img.width * widthBase / img.height + px; c.style.flexGrow img.width * widthBase / img.height; i.style.paddingBottom img.height / img.width * 100 + %; } else { img.addEventListener(load, function () { c.style.width img.width * widthBase / img.height + px; c.style.flexGrow img.width * widthBase / img.height; i.style.paddingBottom img.height / img.width * 100 + %; }); } } else { album.removeChild(c); } }); } }); if (typeof refreshFsLightbox function) refreshFsLightbox(); } function debounce(func, wait) { let timeout; return function () { const context this; const args arguments; clearTimeout(timeout); timeout setTimeout(() > { func.apply(context, args); }, wait); }; } function refreshWidth() { Array.from(document.querySelectorAll(.x-photosloaded)).forEach(el > { let widthBase el.clientWidth > 960 ? 200 : (el.clientWidth > 640 ? 150 : 100); Array.from(el.childNodes).forEach(c > { if (c.classList.contains(photo) && c.querySelector(i) && c.querySelector(img)) { let img c.querySelector(img); c.style.width img.width * widthBase / img.height + px; c.style.flexGrow img.width * widthBase / img.height; c.querySelector(i).style.paddingBottom img.height / img.width * 100 + %; } }); }); } setTimeout(function () { renderPhotos(); document.addEventListener(pjax:complete, renderPhotos); }, 100); if(!fsLightboxEnabled()) { refreshWidth(); window.addEventListener(resize, debounce(refreshWidth, 200)); } })() /script> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Post/index.css?h256b61c2990f1dd8b267a93557cab97d> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Scode/index.css?h29bb3889c0b7275d6068ff668d410be2> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Span/index.css?h1daaa010ff2cde21fea634fed3a6bef3> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Tabs/index.css?h176100a1834ac005b642c92d6626e368> script> customElements.define( x-tabs, class xTabs extends HTMLElement { constructor() { super(); this.classList.add(x-tabs); Array.from(this.querySelectorAll(:scope>br)).forEach(b > this.removeChild(b)); let tabs Array.from(this.querySelectorAll(:scope>.x-tab)); if (tabs.length) { let tabNav document.createElement(ul), tabContent document.createElement(div); tabNav.className x-tabs-nav; tabContent.className x-tabs-content; for (let i 0; i tabs.length; i++) { let tab tabsi, tabNavItem document.createElement(li), tabContentItem document.createElement(div); if (tab.getAttribute(active) true) { this.setAttribute(active, i + 1); } tabNavItem.className x-tabs-nav-item; tabNavItem.setAttribute(tabindex, i + 1); let name tab.getAttribute(name); let title tab.getAttribute(title); tabNavItem.innerHTML span> + (name ? name : (title ? title : 标签.replace(%d, i + 1))) + span>; tabNavItem.addEventListener(click, () > { this.setAttribute(active, tabNavItem.getAttribute(tabindex)); }) tabNav.appendChild(tabNavItem); tabContentItem.className x-tabs-content-item; tabContentItem.setAttribute(tabindex, i + 1); if (tab.firstElementChild && tab.firstElementChild.tagName BR) { tab.removeChild(tab.firstElementChild); } if (tab.lastElementChild && tab.lastElementChild.tagName BR) { tab.removeChild(tab.lastElementChild); } tabContentItem.innerHTML tab.innerHTML; if (tab.previousSibling && tab.previousSibling.tagName SPAN && tab.previousSibling.className line) { if (tabContentItem.firstElementChild) { tabContentItem.insertBefore(tab.previousSibling, tabContentItem.firstElementChild); } else { tabContentItem.appendChild(tab.previousSibling); } } if (tabContentItem.firstElementChild && tabContentItem.firstElementChild.tagName.toString() P && tabContentItem.firstElementChild.innerHTML ) { tabContentItem.removeChild(tabContentItem.firstElementChild); } if (tabContentItem.lastElementChild && tabContentItem.lastElementChild.tagName.toString() P && tabContentItem.lastElementChild.innerHTML ) { tabContentItem.removeChild(tabContentItem.lastElementChild); } let {children: chlren} tabContentItem; let chl chlren.length; if (chl > 2 && chlrenchl - 2.matches(br) && chlrenchl - 1.matches(span.linedata-start)) { chlrenchl - 2.remove(); } tabContent.appendChild(tabContentItem); this.removeChild(tab); } this.appendChild(tabNav); this.appendChild(tabContent); Array.from(this.querySelectorAll(:scope>span.line)).forEach(span > { if (span.nextElementSibling && span.nextElementSibling.classList.contains(x-tabs-content-item)) { span.nextElementSibling.insertBefore(span, span.nextElementSibling.firstElementChild); } else { span.parentNode.removeChild(span); } }); if (!this.hasAttribute(active) && tabNav.childElementCount) { this.setAttribute(active, 1); } switchToTab(this.getAttribute(active)); let observer new MutationObserver((mutations) > { mutations.forEach(mutation > { if (mutation.attributeName active) { switchToTab(mutation.target.getAttribute(active)); } }) }); observer.observe(this, { attributes: true }) function switchToTab(tabindex) { Array.from(tabNav.querySelectorAll(.x-tabs-nav-item-active)).forEach(navItem > { navItem.classList.remove(x-tabs-nav-item-active); }); Array.from(tabContent.querySelectorAll(.x-tabs-content-item-active)).forEach(contentItem > { contentItem.classList.remove(x-tabs-content-item-active); }); tabNav.querySelector(`:scope>tabindex${tabindex}`).classList.add(x-tabs-nav-item-active); tabContent.querySelector(`:scope>tabindex${tabindex}`).classList.add(x-tabs-content-item-active); } } } } ); /script> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Title/index.css?h827bcb9dce1d20b9f859112f35110dc5> link relstylesheet hrefhttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/Video/index.css?h9169419b1f01aa75915e9d45a2ed1403> script srchttps://blog.nekoss.cn/usr/plugins/AAEditor/Modules/ViewImage/fslightbox.js?hf0a81fb2ddf260ededafe60cffd0ae5b>/script> script> (function () { const fn _ > { const images document.querySelector(#wmd-preview) ? document.querySelectorAll(#wmd-preview img) : document.querySelectorAll(imgview-image); Array.from(images).forEach(img > { if (!img.closest(.x-photos)) { if (img.parentNode.tagName A) { img.parentNode.setAttribute(data-fslightbox, gallery) img.parentNode.setAttribute(data-type, image) } else { img.outerHTML a href + img.src + data-fslightboxgallery data-typeimage> + img.outerHTML + /a>; } } img.removeAttribute(view-image) }); if (typeof refreshFsLightbox function) refreshFsLightbox(); } fn(); document.addEventListener(pjax:complete, fn); })(); /script> style> adata-fslightbox > imgstyle*aspect-ratio { height: auto; } /style> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]