找到
11
篇与
dex
相关的结果
-
小霸王游戏机网页模拟器2025版_HTML5经典怀旧游戏源码_支持存档与虚拟手柄 项目概览 小霸王模拟器界面图片 本源码基于现代Web技术打造,完美复刻90年代经典游戏体验,集成以下核心技术: 技术栈实现功能性能指标HTML5 Canvas游戏渲染引擎60FPS流畅运行JavaScript游戏逻辑/存档系统<100ms响应延迟CSS3动态界面效果硬件加速支持Web Storage本地存档存储无限存档位核心功能解析 🕹️ 经典游戏合集 内置游戏库: 魂斗罗(30条命版) 超级马里奥兄弟 坦克大战(自定义地图) 双截龙等20+经典 扩展支持: 支持.nes文件加载 自定义游戏列表管理 多存档位即时存取 🎮 操控体验优化 虚拟手柄(支持触屏操作) 键盘映射自定义 连发键设置 灵敏度调节 部署与使用 📥 快速部署指南 下载源码压缩包(约15MB) 上传至服务器/web空间 访问index.html立即开玩 📱 多端兼容性 设备类型支持情况推荐配置PC浏览器Chrome/Firefox键鼠/游戏手柄手机/平板iOS 15+/Android 10触屏虚拟手柄电视盒子需外接控制器蓝牙手柄最佳开发者扩展指南 自定义功能开发 <!-- 添加新游戏示例 --> <script> const newGame = { title: "赤色要塞", rom: "games/Contra.nes", cover: "images/contra.jpg" }; gameList.push(newGame); </script>界面定制参数 主题色修改:编辑css/theme.css 手柄布局调整:修改controls.js 音效替换:更新assets/sounds 2025版本更新 WebAssembly加速核心 在线联机对战功能 成就系统集成 直播推流支持 资源获取 🔗 源码下载:夸克网盘 📦 文件包含: 完整游戏合集(20+经典) 开发者文档(PDF格式) 扩展接口说明 ⚠️ 注意事项:本源码仅限技术研究,游戏版权归原厂商所有 本文由6v6-博客网原创发布 更多精彩内容: 🎮 《10个经典游戏复刻项目》 💻 《HTML5游戏开发指南》 📱 《将网页应用打包为APP教程》 -
【Typecho】给Joe主题后台添加custom自定义功能! 大家好,今天来添加一下自定义功能! 😂 温馨提示:站长已经通过本地环境测试custom自定义功能,功能正常可以使用,按照我的操作来一定成功! 大纲 创建custom.php 粘贴代码到custom.php文件 引入custom.php文件 添加li标签代码 引入custom.min.css 引入custom.min.js 总结 摘要 本文主要是教各位给自己的joe主题完成一个后台的自定义设置的功能,以后你要添加带有开关的功能直接在自定义设置里面添加即可! 图片展示 title="m8y8or85.png"图片 如图所示,今天要完成的功能就是图片中的自定义设置!下面跟着我的操作来完成。 创建custom.php 登录你的服务器面板(小皮面板、宝塔面板等)找到joe主题的usr/themes/Joe/ public 进去之后创建一个名字为custom.php文件,然后复制以下代码头进行粘贴: <?php ?> 这个php代码的头部声明吧,以后要添加的php代码全部要放在:<?php 代码放这里面 ?> 怕你们看不懂,如下图所示: title="m8y8y891.png"图片 上面的创建php和粘贴一起说了。下面就是引入custom.php文件了,注意看!!! 引入custom.php 还是一样的,找到目录:/usr/themes/ Joe ,找到 functions.php 文件并打开,打开之后我们看到最后的位置,粘贴下面的代码: // 引入自定义设置 require_once("public/custom.php"); 放心,有演示图片的,不要着急!!! 演示图片 title="m8y97hcy.png"图片 看到图片中的符号没? 🔜 } 把引入代码放在它的前面即可! 每次添加完代码都要先保存,保存后先不要急着关闭functions.php,我们继续找到这个文件的开头位置准备添加以下代码: <li class="item" data-current="joe_custom">自定义设置</li>演示图 title="m8y9cpec.png"图片 放好之后我们保存,然后我就去引入custom.css和js文件了,这个简单啊!!! 引人custom.css&js 找到/usr/themes/Joe/assets/ css 点击创建文件,名字命名为custom.min.css,保存之后打开它,粘贴以下代码: html{--reading: #faf9de}html[data-night=night] body{--reading: #424242}html[data-night=night] body::before{filter:brightness(0.2)}html[data-night=night] body img:not(.owo_image,.shang,.user_logo),html[data-night=night] body .joe_detail__leaving-list .item,html[data-night=night] body .js_ad,html[data-night=night] body .a-js-ad,html[data-night=night] body .joe_detail__friends-item{filter:brightness(0.6)}html .joe_header__above-logo{overflow:hidden}html .joe_header__above-logo::before{content:"";position:absolute;top:-50px;left:-15px;width:250px;height:25px;background-image:linear-gradient(rgba(255, 255, 255, 0), var(--background));opacity:.8;transform:rotate(-45deg);-webkit-animation:flashlights 1s ease-in 1s infinite;animation:flashlights 1.5s ease-in 1s infinite}@-webkit-keyframes flashlights{0%{left:-100px;top:0}to{left:120px;top:100px}}@keyframes flashlights{0%{left:-100px;top:0}to{left:120px;top:100px}}@media(max-width: 1200px){.joe_header__above-search{display:none}.joe_header__above-searchicon{display:block}.joe_header__below-sign .joe_dropdown__link span{display:none}}.js_ad{margin-top:10px;position:relative;border-radius:var(--radius-wrap);box-shadow:var(--box-shadow);overflow:hidden;height:120px}@media(max-width: 768px){.js_ad{height:100px}}.Reward{text-align:center;margin-left:30px;color:var(--minor);font-size:12px}.Reward .footer_flex{width:42px;height:42px;background-color:#f56c6c;border-radius:50%;position:relative;z-index:10;display:flex;justify-content:center;align-items:center;margin-bottom:8px}.Reward .footer_flex:hover{background-color:var(--theme);cursor:pointer}.Reward .footer_flex:hover .flex_rows{display:block}.Reward .footer_flex .flex_rows{box-shadow:0px 1px 4px 2px var(--theme);cursor:auto;height:200px;width:170px;position:absolute;top:-215px;background:var(--background);display:none;border-radius:8px}.Reward .footer_flex .flex_rows::after{content:"";position:absolute;bottom:-16px;left:0;right:0;margin:auto;width:0px;border:18px solid transparent;border-bottom:none;border-top-color:var(--background);filter:drop-shadow(0px 4px 2px var(--theme))}.Reward .footer_flex .flex_rows .flex-footer{overflow:hidden;margin:10px;position:relative;width:150px;height:180px}.Reward .footer_flex .flex_rows .flex-footer .RewardImg{width:900px;position:absolute;left:0}.Reward .footer_flex .flex_rows .flex-footer .RewardImg li{float:left;overflow:hidden}.Reward .footer_flex .flex_rows .flex-footer .RewardImg li img{width:150px;border-radius:2px}.Reward .footer_flex .flex_rows .flex-footer .RewardBtn{display:inline-flex;border-radius:5px;position:absolute;border:1px solid var(--classC);bottom:0px;left:0}.Reward .footer_flex .flex_rows .flex-footer .RewardBtn li:nth-of-type(n + 2){border-left:1px solid var(--classC)}.Reward .footer_flex .flex_rows .flex-footer .RewardBtn li div{height:20px;font-size:12px;color:var(--routine);padding:2px;border-radius:2px}.Reward .footer_flex .flex_rows .flex-footer .RewardBtn li:hover{cursor:pointer}.imgUpload_btn{margin:-10px auto 5px;text-align:right}.imgUpload_btn span{cursor:pointer;margin-right:5px}.top-social{position:relative;padding-top:10px;display:flex;flex-wrap:wrap;justify-content:space-around}.top-social li{width:50px;text-align:center;position:relative;height:32px}.top-social li a{height:100%}.top-social li div{height:100%}.top-social li img{height:100%}.top-social li .WeChatInner{display:none;position:absolute;box-shadow:0px 1px 4px 2px var(--theme);border-radius:var(--radius-wrap);transition:.7s all ease;background:var(--background);-webkit-transition:.7s all ease;top:-180px;left:-50px;transform:translate3d(0, 16px, 0);width:150px;height:150px;z-index:20}.top-social li .WeChatInner::before{content:"";position:absolute;bottom:-16px;left:0;right:0;margin:auto;display:inline-block;width:0px;border:18px solid transparent;border-bottom:none;border-top-color:var(--background);filter:drop-shadow(0px 4px 2px var(--theme))}.top-social li .WeChatInner img{border-radius:2px;width:140px;height:auto;margin:5px;background:none}.top-social li:hover .WeChatInner{display:block}.pe-social{width:100%;background:var(--background);border-radius:var(--radius-wrap);padding:10px 15px;box-shadow:var(--box-shadow);margin-bottom:15px}.joe_comment__respond-form .body .text{background:var(--background);border-radius:var(--radius-inner);padding:5px}.joe_comment__respond-form .foot{justify-content:flex-start}.joe_comment__respond-form .foot .joe_owo__contain{position:static}.joe_comment__respond-form .foot .joe_owo__contain .box{position:absolute;bottom:100%;margin-bottom:6px;left:0px;padding-top:5px;border:1px solid rgba(0,0,0,.15);border-color:transparent;box-shadow:0 0 10px 8px rgba(116,116,116,.08)}.joe_comment__respond-form .foot .comment_box{cursor:pointer;text-align:center;color:var(--routine);height:26px;line-height:26px;background:var(--background);opacity:.85;border-radius:13px;width:70px;margin-left:5px}.joe_comment__respond-form .foot .comment_box:hover{background:var(--theme);color:#fff}.joe_comment__respond-form .foot .comment_box .dropdown-menu{cursor:default;position:absolute;top:auto;bottom:100%;margin-bottom:6px;z-index:10;display:none;min-width:160px;padding:5px 0;font-size:14px;text-align:left;list-style:none;background-color:var(--background);color:var(--minor);background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-color:transparent;border-radius:4px;box-shadow:0 0 10px 8px rgba(116,116,116,.08)}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code{width:250px;padding:8px 10px}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image p,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code p{margin:0 0 10px}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image p textarea,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code p textarea{resize:vertical}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image .form-control,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code .form-control{display:block;width:100%;padding:6px 12px;font-size:14px;line-height:1.42857143;border:1px solid #ccc;border-radius:4px;border-color:transparent;background:var(--classD);color:#4e5358;max-height:200px;min-height:90px;box-shadow:none;transition:border-color ease-in-out .15s,background ease-in-out .15s,box-shadow ease-in-out .15s,opacity ease-in-out .3s}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image .text-right,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code .text-right{text-align:right}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image .text-right .error,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code .text-right .error{float:left;color:var(--theme);-webkit-animation:5s ease-in-out 0s infinite normal none running shaked;animation:5s ease-in-out 0s infinite normal none running shaked}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image .text-right .but,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code .text-right .but{border-radius:4px;display:inline-block;line-height:1.44;background:var(--theme);color:#fff;padding:.3em 1em}.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-image .text-right .but:hover,.joe_comment__respond-form .foot .comment_box .dropdown-menu .dropdown-code .text-right .but:hover{-webkit-animation:5s ease-in-out 0s infinite normal none running shaked;animation:5s ease-in-out 0s infinite normal none running shaked}.joe_comment__respond-form .foot .press-down{background:var(--theme) !important;color:#fff !important}@media(max-width: 768px){.joe_comment__respond-form .foot .title{display:none}.joe_comment__respond-form .foot .owo .seat,.joe_comment__respond-form .foot .comment_box{width:26px}}.HeaderImg{position:relative;width:100%;height:15rem;display:flex;margin-left:auto;margin-right:auto;justify-content:center;align-items:center;flex-direction:column}.HeaderImg.minImg{width:82.5rem;height:25rem}.HeaderImg img{-o-object-fit:cover;object-fit:cover}.HeaderImg .infomation{position:absolute;line-height:2}.HeaderImg .infomation .title{font-size:2rem;font-weight:700;color:#fff;text-align:center;text-shadow:0 .1875rem .3125rem #1c1f21;letter-spacing:.5rem}.HeaderImg .infomation .desctitle{display:flex;align-items:center;justify-content:center;text-align:center;color:#f3f3f3;font-size:1rem;padding:0 1rem;text-shadow:0 .1875rem .3125rem #1c1f21}.HeaderImg .infomation .desctitle h1{font-size:1rem}.HeaderImg .infomation .desctitle h1.post_h{font-size:1.5rem}.HeaderImg .HeaderImg_arrow{opacity:1;cursor:pointer;margin-top:1.5rem;position:absolute;left:50%;bottom:20%;width:40px;height:40px;margin-left:-20px}.HeaderImg .HeaderImg_arrow .HeaderImg_arrow__bou{transform:translateX(-50%);transition-delay:5s;-webkit-animation-duration:4s;animation-duration:4s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;transform-origin:center bottom;-webkit-animation-name:go_down_animation;animation-name:go_down_animation;-webkit-animation-timing-function:cubic-bezier(0.28, 0.84, 0.42, 1);animation-timing-function:cubic-bezier(0.28, 0.84, 0.42, 1)}@-webkit-keyframes go_down_animation{0%{transform:scale(1, 1) translateY(0px)}10%{transform:scale(1.1, 0.9) translateY(0px)}30%{transform:scale(0.9, 1.1) translateY(-30px)}50%{transform:scale(1.05, 0.95) translateY(0px)}57%{transform:scale(1, 1) translateY(-7px)}64%{transform:scale(1, 1) translateY(0px)}100%{transform:scale(1, 1) translateY(0px)}}@keyframes go_down_animation{0%{transform:scale(1, 1) translateY(0px)}10%{transform:scale(1.1, 0.9) translateY(0px)}30%{transform:scale(0.9, 1.1) translateY(-30px)}50%{transform:scale(1.05, 0.95) translateY(0px)}57%{transform:scale(1, 1) translateY(-7px)}64%{transform:scale(1, 1) translateY(0px)}100%{transform:scale(1, 1) translateY(0px)}}.HeaderImg .HeaderImg_bottom{width:100%;position:absolute;left:0;bottom:-5px}.HeaderImg .HeaderImg_bottom .waves-svg{width:100%;height:6rem}.HeaderImg .HeaderImg_bottom .waves-svg .parallax>use{-webkit-animation:move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;animation:move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite}.HeaderImg .HeaderImg_bottom .waves-svg .parallax>use:first-child{-webkit-animation-delay:-2s;animation-delay:-2s;-webkit-animation-duration:7s;animation-duration:7s;fill:var(--background);opacity:.9}.HeaderImg .HeaderImg_bottom .waves-svg .parallax>use:nth-child(2){-webkit-animation-delay:-3s;animation-delay:-3s;-webkit-animation-duration:10s;animation-duration:10s;fill:var(--background);opacity:.8}.HeaderImg .HeaderImg_bottom .waves-svg .parallax>use:nth-child(3){-webkit-animation-delay:-4s;animation-delay:-4s;-webkit-animation-duration:13s;animation-duration:13s;fill:var(--background);opacity:.9}.HeaderImg .HeaderImg_bottom .waves-svg .parallax>use:nth-child(4){-webkit-animation-delay:-5s;animation-delay:-5s;-webkit-animation-duration:20s;animation-duration:20s;fill:var(--background)}@-webkit-keyframes move-forever{0%{transform:translate3d(-90px, 0, 0)}to{transform:translate3d(85px, 0, 0)}}@keyframes move-forever{0%{transform:translate3d(-90px, 0, 0)}to{transform:translate3d(85px, 0, 0)}}.HeaderImg:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKUlEQVQImU3IMREAIAgAwJfNkQCEsH8cijjpMf6vnXlQaIiJFx+omEBfmqIEZLe2jzcAAAAASUVORK5CYII=)}@media(max-width: 768px){.HeaderImg{height:15rem;margin-top:0}.HeaderImg.minImg{width:100%;height:15rem}.HeaderImg .infomation .title{font-size:1.2rem}.HeaderImg .infomation .desctitle h1.post_h{font-size:1rem}.HeaderImg .HeaderImg_bottom .waves-svg{height:3rem}}.joe_aside.inactive{display:none}.joe_main{position:relative}@media(max-width: 768px){.joe-stretch{display:none}}.joe-stretch{height:100%;position:absolute;top:0;right:0;padding:40px 0}.joe-stretch .contain{position:-webkit-sticky;position:sticky;transition:top .5s;-webkit-animation:swingIconSet 2s infinite linear alternate;animation:swingIconSet 2s infinite linear alternate;z-index:333}@-webkit-keyframes swingIconSet{0%{transform:rotate(-30deg)}100%{transform:rotate(30deg)}}@keyframes swingIconSet{0%{transform:rotate(-30deg)}100%{transform:rotate(30deg)}}.joe-stretch .contain::before{content:"";position:absolute;top:0;left:0;width:10px;height:25px;border-top:2px solid var(--minor);border-right:2px solid var(--minor);transition:border .35s}.joe-stretch .contain svg{position:absolute;top:25px;left:-3px;width:24px;height:24px;fill:var(--minor);cursor:pointer;transition:fill .35s}.joe-stretch .contain:hover{-webkit-animation-play-state:paused;animation-play-state:paused}.joe-stretch .contain:hover svg{fill:var(--theme)}.joe-stretch .contain:hover::before{border-color:var(--theme)}.joe-stretch.active{display:block}.joe_action_item.read_book{visibility:hidden;transform:scale(0)}.joe_action_item.read_book.active{visibility:visible;transform:scale(1)}.joe_action_item.read_book svg{transform:scale(0);opacity:0;transition:transform .85s,opacity .85s}.joe_action_item.read_book svg.active{transform:scale(1);opacity:1}.joe_action_item.directory{display:none;transform:scale(0)}.joe_action_item.directory.active{display:inline-flex;transform:scale(1)}.joe_action_item.directory svg{transform:scale(0);opacity:0;transition:transform .85s,opacity .85s}.joe_action_item.directory svg.active{transform:scale(1);opacity:1}.joe_action_item.directory .tree{opacity:0;width:15rem;height:20rem;overflow:auto;position:absolute;z-index:-10;background:var(--background);border-radius:var(--radius-wrap);box-shadow:var(--box-shadow);-webkit-animation:rebox .5s forwards;animation:rebox .5s forwards;cursor:default}@-webkit-keyframes rebox{0%{transform:scale(1);opacity:1;transform:translateY(0px);right:45px;bottom:0}100%{transform:scale(0);opacity:0;width:0;height:0}}@keyframes rebox{0%{transform:scale(1);opacity:1;transform:translateY(0px);right:45px;bottom:0}100%{transform:scale(0);opacity:0;width:0;height:0}}.joe_action_item.directory .tree.active{-webkit-animation:box .5s forwards;animation:box .5s forwards}@-webkit-keyframes box{0%{transform:scale(0);opacity:0;width:0;height:0}100%{transform:scale(1);opacity:1;transform:translateY(0px);right:45px;bottom:0}}@keyframes box{0%{transform:scale(0);opacity:0;width:0;height:0}100%{transform:scale(1);opacity:1;transform:translateY(0px);right:45px;bottom:0}}.joe_action_item.directory .tree .title{font-size:16px;border-bottom:1px solid var(--routine);color:var(--routine);position:sticky;position:-webkit-sticky;padding:5px 10px;top:0;font-weight:bold}.joe_action_item.directory .tree .text{padding:5px 10px;overflow-y:auto;overflow-x:hidden;height:85%;white-space:nowrap;text-overflow:ellipsis}.joe_action_item.directory .tree .text a{text-decoration:none;color:var(--minor);font-size:15px;line-height:1.8;cursor:pointer}.joe_action_item.directory .tree .text a:hover{color:var(--theme);border-bottom:1px solid var(--theme)}.joe_detail__count-information .meta .item .icon{fill:var(--minor);margin:0 5px} 粘贴完成之后我们继续返回到/usr/themes/Joe/assets/ js 文件夹,在Js文件夹里面创建名字为custom.min.js的文件,记住哈是文件不是文件夹! 表情图片 代码如下: document.addEventListener("DOMContentLoaded",function(){if($(".Reward").length){let e=document.querySelector(".RewardImg"),t=document.querySelectorAll(".RewardImg li img"),o=document.querySelectorAll(".RewardBtn li"),a=document.querySelectorAll(".RewardBtn li div");for(let n=0;n<a.length;n++){e.style.width=150*t.length+"px";let i=0;a[0].style.backgroundColor="var(--theme)",a[0].style.color="#fff",o[n].style.width=1/a.length*(150-(a.length+1))+"px",a[n].num=n,a[n].onclick=function(){i=this.num;for(let e=0;e<a.length;e++)a[e].style.backgroundColor="",a[e].style.color="";a[i].style.backgroundColor="var(--theme)",a[i].style.color="#fff",e.style.left=-150*i+"px"}}}if($(".WeChat").length){$WeChatA=$(".WeChatA");let e=$WeChatA.get(0).outerHTML;e=e.replace(/^<a/,"<div"),e=e.replace(/\/a>$/,"/div>"),$WeChatA.replaceWith(e),$(".WeChat").mouseenter(function(){$(".WeChat").append('<div class="WeChatInner"><img src="javascript:;" /></div>'),$(".WeChatInner img").attr("src",$(".WeChatA").attr("href"))}),$(".WeChat").mouseleave(function(){$(".WeChatInner").remove()})}if($(".Comment_Citation").length){function e(){let e=Joe.CITATION,t=/(https?:\/\/[^\s]+)/g;t.test(e)?$.ajax({url:e,dataType:"text",success:e=>$(".joe_comment__respond-form .body textarea").val(e)}):$(".joe_comment__respond-form .body textarea").val(e)}e(),$(".Comment_Citation").click(function(){e()})}if($(".Comment_ImageUrl").length&&($(".Comment_ImageUrl").click(function(e){e.stopPropagation(),$(".Comment_ImageUrl .dropdown-menu").slideToggle("fast",function(){$(".Comment_ImageUrl .comment_box").toggleClass("press-down")}),$(".dropdown-image .text-right span").text(""),$(".dropdown-image textarea").val("")}),$(document).click(function(){$(".Comment_ImageUrl .dropdown-menu").stop().slideUp("fast"),$(".Comment_ImageUrl .comment_box").removeClass("press-down")}),$(".Comment_ImageUrl .dropdown-menu").on("click",function(e){e&&e.stopPropagation?e.stopPropagation():window.event&&(window.event.cancelBubble=!0)}),$(".dropdown-image [type='submit']").click(function(){let e=$(this).parents(".dropdown-image").find("textarea"),t=e.val(),o=$(".joe_comment__respond-form .body textarea").val(),a=/\http[s]{0,1}:\/\/.([^<>"]*)(\.(jpg|jpeg|png|gif|webp))/;a.test(t)?(t="[img="+t+"]\n",$(".joe_comment__respond-form .body textarea").val(o+t),$(".Comment_ImageUrl .dropdown-menu").stop().slideUp("fast"),$(".Comment_ImageUrl .comment_box").toggleClass("press-down"),t=e.val("")):($(".dropdown-image .text-right span").addClass("error"),$(".dropdown-image .text-right span").text("格式错误!"))})),$(".Comment_Code").length&&($(".Comment_Code").click(function(e){e.stopPropagation(),$(".Comment_Code .dropdown-menu").slideToggle("fast",function(){$(".Comment_Code .comment_box").toggleClass("press-down")}),$(".dropdown-code .text-right span").text(""),$(".dropdown-code textarea").val("")}),$(document).click(function(){$(".Comment_Code .dropdown-menu").stop().slideUp("fast"),$(".Comment_Code .comment_box").removeClass("press-down")}),$(".Comment_Code .dropdown-menu").on("click",function(e){e&&e.stopPropagation?e.stopPropagation():window.event&&(window.event.cancelBubble=!0)}),$(".dropdown-code [type='submit']").click(function(){let e=$(this).parents(".dropdown-code").find("textarea"),t=e.val(),o=$(".joe_comment__respond-form .body textarea").val();""==t?($(".dropdown-code .text-right span").addClass("error"),$(".dropdown-code .text-right span").text("请输入内容!")):(t="[code]\n"+t+"\n[/code]\n",$(".joe_comment__respond-form .body textarea").val(o+t),$(".Comment_Code .dropdown-menu").stop().slideUp("fast"),$(".Comment_Code .comment_box").toggleClass("press-down"),t=e.val(""))})),$(".comment-list .substance img:not(img.owo_image)").each(function(){$(this).attr("data-src")?$(this).wrap($(`<span style="display: block;" data-fancybox="Joe" href="${$(this).attr("data-src")}"></span>`)):$(this).wrap($(`<span style="display: block;" data-fancybox="Joe" href="${$(this).attr("src")}"></span>`))}),$(".comment-list__item").length){let e=$(".joe_comment > ol.comment-list").children(".comment-list__item"),t='<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8885993286780110"crossorigin="anonymous"></script><ins class="adsbygoogle"style="display:block" data-ad-format="fluid"data-ad-layout-key="-g8-h+6z-cm-d" data-ad-client="ca-pub-8885993286780110" data-ad-slot="5758522083"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script>';for(let o=0;o<e.length;o++)o%4==3&&$("<li class='js_ad' style='margin-bottom:10px'>"+t+"</li>").insertAfter(e[o])}if($(".joe-stretch").length&&($(".joe-stretch .contain").css("top",$(".joe_header").height()+40),$(".joe-stretch").on("click",function(){$(".joe_aside").toggleClass("inactive")})),$(".read_book").length&&($(".joe_post").length&&($(".joe_action_item.read_book").addClass("active"),$(".joe_action_item.read_book .icon-1").addClass("active")),$(".joe_action_item.read_book").on("click",function(){$(".joe_action_item.read_book svg").hasClass("icon-1 active")?($(".joe_header").css("display","none"),$(".HeaderImg").css("display","none"),$(".joe_aside").css("display","none"),$(".joe_detail").css("backgroundColor","var(--reading)"),$(".joe_detail__related").css("display","none"),$(".joe_comment").css("display","none"),$(".joe_footer").css("display","none"),$(".joe-stretch").css("display","none"),$(".joe_detail__article").css("font-size","20px")):($(".joe_header").removeAttr("style"),$(".HeaderImg").removeAttr("style"),$(".joe_aside").removeAttr("style"),$(".joe_detail").removeAttr("style"),$(".joe_detail__related").removeAttr("style"),$(".joe_comment").removeAttr("style"),$(".joe_footer").removeAttr("style"),$(".joe-stretch").removeAttr("style"),$(".joe-stretch").removeAttr("style"),$(".joe_detail__article").removeAttr("style")),$(".joe_action_item.read_book .icon-1").toggleClass("active"),$(".joe_action_item.read_book .icon-2").toggleClass("active")})),$(".joe_post").length&&$(".joe_detail__article").find("h2,h3,h4,h5,h6").length){$("body").outerWidth()>=768?($(".joe_action_item.directory").addClass("active"),$(".joe_action_item.directory .icon-2").addClass("active"),$(".joe_action_item.directory .tree").addClass("active")):($(".joe_action_item.directory").addClass("active"),$(".joe_action_item.directory .icon-1").addClass("active"));let e=$(".joe_detail__article").find("*"),t=0;for(let o=0;o<e.length;o++)if("h"==e[o].localName.charAt(0)&&!isNaN(e[o].localName.charAt(1))){e[o].setAttribute("id","t"+t);let a=parseInt(e[o].localName.charAt(1))-2;for(;a--&&!(a<0);)$(".directory .tree .text").append(" ");$(".directory .tree .text").append("<a href='#t"+t+"'>"+$(e[o]).text()+"</a></br>"),t++}$(".joe_action_item.directory").on("click",function(){$(".joe_action_item.directory .tree").toggleClass("active"),$(".joe_action_item.directory .icon-1").toggleClass("active"),$(".joe_action_item.directory .icon-2").toggleClass("active")}),$(".directory .tree").on("click",function(e){e&&e.stopPropagation?e.stopPropagation():window.event&&(window.event.cancelBubble=!0)}),$(".directory .tree a").bind("click touch",function(){$("html,body").animate({scrollTop:$($(this).attr("href")).offset().top-65},1e3)})}$(".HeaderImg_arrow").length&&$(".HeaderImg_arrow").on("click",function(){$("body").outerWidth()>=768&&window.scrollTo({top:300,behavior:"smooth"})})});{function loveSiteTime(e,t){window.setTimeout(function(){loveSiteTime(e,t)},1e3);let o=1e3,a=60*o,n=60*a,i=24*n,r=365*i,s=new Date,l=s.getFullYear(),d=s.getMonth()+1,c=s.getDate(),m=s.getHours(),p=s.getMinutes(),_=s.getSeconds(),g=Date.UTC(2019,10,19,21,0,0);t&&(g=Date.UTC(t.split("-")[0],t.split("-")[1],t.split("-")[2],t.split("-")[3],t.split("-")[4],t.split("-")[5]));let h=Date.UTC(l,d,c,m,p,_),f=h-g,u=Math.floor(f/r),C=Math.floor(f/i-365*u),y=Math.floor((f-(365*u+C)*i)/n),v=Math.floor((f-(365*u+C)*i-y*n)/a),w=Math.floor((f-(365*u+C)*i-y*n-v*a)/o);$("#loveSiteTime4Aside")&&$("#loveSiteTime4Aside").html(e+"</br>"+u+"年"+C+"天"+y+"时"+v+"分"+w+"秒啦</br>"),$("#loveSiteTime4Header")&&$("#loveSiteTime4Header").html(e+"</br>"+u+"年"+C+"天"+y+"时"+v+"分"+w+"秒啦</br>")}}保存之后,去引入这两个文件。 在include.php中引入css\js文件文件路径:/usr/themes/Joe/ public 找到include.php文件并打开,在下面图片中的相应位置添加以下代码: title="m8y9t698.png"图片 <script src="<?php $this->options->themeUrl('assets/js/custom.min.js'); ?>"></script><link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/custom.min.css'); ?>">总结 创建必要的文件custom.php,引入设置,即可在joe后台看见并使用自定义设置功能,以后添加开关就直接在custom.php文件中添加就行了,不用在funstions.php文件去找地方添加了。快去试试吧! -
如何在 Linux 上安装 Nvidia 显卡驱动? 如何在 Linux 上安装 Nvidia 显卡驱动? 在 Linux 系统上安装 Nvidia 显卡驱动可能会有些复杂,但通过正确的步骤,你可以轻松完成安装。本文将详细介绍如何在 Linux 上安装 Nvidia 显卡驱动。 1. 准备工作 1.1 检查显卡型号 在终端中运行以下命令,查看显卡型号: lspci | grep -i nvidia1.2 禁用 Nouveau 驱动 Nouveau 是 Linux 默认的开源 Nvidia 驱动,需要禁用以避免冲突。 创建配置文件: sudo nano /etc/modprobe.d/blacklist-nouveau.conf 添加以下内容: blacklist nouveau options nouveau modeset=0 更新 initramfs: sudo update-initramfs -u 重启系统: sudo reboot 2. 安装 Nvidia 驱动 2.1 使用包管理器安装(推荐) 更新系统包列表: sudo apt update 查找可用的 Nvidia 驱动版本: ubuntu-drivers devices 安装推荐的驱动版本: sudo apt install nvidia-driver-<version>例如: sudo apt install nvidia-driver-510 2.2 手动安装驱动 从 Nvidia 官网 下载适合的驱动。 下载完成后,赋予执行权限: chmod +x NVIDIA-Linux-x86_64-<version>.run 停止图形界面: sudo systemctl stop gdm 运行安装程序: sudo ./NVIDIA-Linux-x86_64-<version>.run 按照提示完成安装。 3. 验证安装 3.1 检查驱动状态 运行以下命令,查看驱动是否安装成功: nvidia-smi3.2 重启系统 安装完成后,重启系统以应用更改: sudo reboot4. 常见问题与解决方案 4.1 驱动安装失败 原因:可能与 Nouveau 驱动冲突。 解决方案:确保 Nouveau 驱动已禁用,并重新安装 Nvidia 驱动。 4.2 图形界面无法启动 原因:驱动安装不正确或配置错误。 解决方案:尝试重新安装驱动,或使用恢复模式修复系统。 5. 注意事项 备份数据:安装驱动前备份重要数据,避免意外丢失。 选择正确版本:确保下载的驱动版本与显卡型号和 Linux 内核版本兼容。 更新系统:安装驱动前更新系统,确保所有依赖包已安装。 了解更多技术内容,请访问:6v6博客 -
吊打全网所有精美导航页引导页HTML源码 吊打全网所有精美导航页引导页HTML源码 这款精美的导航页引导页HTML源码,自适应手机和电脑,无需后台,上传到网站根目录即可使用。首页内容在 index.html 中修改,支持双页切换,搭建简单,附带详细修改教程。 6v6精美导航页图片 6v6精美导航页图片 源码特点 自适应设计:完美适配手机和电脑端,用户体验极佳。 无后台依赖:纯静态页面,无需数据库或后台支持。 双页切换:支持双页切换功能,灵活展示内容。 搭建简单:上传到网站根目录即可使用,无需复杂配置。 附带教程:提供详细修改教程,轻松定制页面内容。 使用说明 下载源码:通过提供的下载链接获取源码文件。 修改内容: 打开 index.html 文件,根据需要修改页面内容。 支持双页切换功能,可根据需求调整。 上传网站:将修改后的文件上传到网站根目录。 访问页面:通过域名访问导航页,查看效果。 下载地址 百度网盘:https://pan.baidu.com/s/1Mv_CHkHVnoMJ7CW9GDI4gA?pwd=75e5 注意事项 备份原文件:修改前建议备份原文件,避免误操作。 浏览器兼容性:测试主流浏览器(如 Chrome、Firefox、Edge)的兼容性。 SEO优化:根据需要添加 Meta 标签,优化搜索引擎收录。 了解更多技术内容,请访问:6v6博客 -
百度对 .ren 域名的收录情况 百度对 .ren 域名的收录情况并不是完全不收录,但可能会受到一些影响。有用户反馈,使用 .ren 域名的网站在国内可以正常备案,收录情况主要与网站程序有关,而不是域名本身的问题。例如,大河人的网站 www.dahe.ren 在百度收录较少,但在 Google 收录较多。 百度不收录新站的原因 文章质量不佳:百度更喜欢原创性且有价值的文章。 站内重复页面太多:过多的重复页面会影响搜索引擎的关注。 网站更新频率:百度蜘蛛喜欢有新内容的网站,但更新需要形成一定的规律。 网站信用度:网站的创建时间和维护情况会影响收录。 不稳定的空间和服务器:这会导致网站无法访问,影响收录。 网站结构:合理的网站结构有助于提高收录率。 用户体验:不好的用户体验会影响收录。 提升网站收录的方法 提交网址:将网站首页提交给搜索引擎,蜘蛛会抓取并添加到索引中。 优化内容:提供高质量、原创的内容,避免重复页面。 定期更新:保持一定的更新频率,形成规律。 优化网站结构:采用合适的网站结构,如树状或扁平化结构。 反馈问题:如果网站长时间未被收录,可以通过百度资源平台反馈问题。 百度资源平台反馈问题 如果您的网站长时间未被百度收录,可以通过百度资源平台的反馈中心提交问题,网址为:https://ziyuan.baidu.com/feedback/index。 更多实用工具和资源可以在 6v6博客 找到。 -
如何在 Typecho 中编辑器输入#标签实现自动填充标签 在 Typecho 的文章编辑过程中,如果你使用 Joe 编辑器,可能会希望输入#标签后能自动提取并填充到文章的标签输入框中,以提高工作效率。接下来,我们将详细介绍如何通过开发一个 Typecho 插件来实现这一功能。 一、功能实现原理 这个功能的实现依赖于 JavaScript 来监听 Joe 编辑器中的输入事件,通过正则表达式提取出#开头的标签,然后将这些标签填充到 Typecho 文章编辑页面的标签输入框中。同时,我们使用 Typecho 的插件机制,将相关的 JavaScript 代码注入到文章编辑页面中。 二、准备工作 了解 HTML 结构 通过浏览器的开发者工具(如 Chrome 的 F12),确定 Joe 编辑器的文本输入框和 Typecho 标签输入框的 HTML 元素。例如,Joe 编辑器文本输入框的 class 为 cm - editor cm - focused ͼ1 ͼ2 ͼ4,Typecho 标签输入框的 id 为 token - input - tags。 熟悉 JavaScript 和 Typecho 插件开发基础 需要了解基本的 JavaScript DOM 操作和事件监听知识,以及 Typecho 插件开发的基本规范和流程。 三、插件代码编写 (一)创建插件文件 在 Typecho 的 usr/plugins 目录下创建一个新目录,例如 AutoTagExtractor。 在 AutoTagExtractor 目录下创建一个 PHP 文件,命名为 AutoTagExtractor.php。 (二)编写插件代码 footer = array('AutoTagExtractorPlugin', 'addScript'); return _t('插件已激活,可从Joe编辑器提取#标签并自动填充到文章标签输入框'); } /** * 禁用插件方法 * * @return string */ public static function deactivate() { return _t('插件已停用'); } /** * 配置插件方法 * * @param Typecho_Widget_Helper_Form $form * @return void */ public static function config(Typecho_Widget_Helper_Form $form) { // 这里可添加插件配置项,目前暂不需要 } /** * 个人用户的配置方法 * * @param Typecho_Widget_Helper_Form $form * @return void */ public static function personalConfig(Typecho_Widget_Helper_Form $form) { // 这里可添加个人用户的配置项,目前暂不需要 } /** * 在文章编辑页面底部添加JavaScript脚本 * * @return void */ public static function addScript() { echo ''; // 当页面的DOM加载完成后执行以下代码 echo 'document.addEventListener(\'DOMContentLoaded\', function () {'; // 获取Joe编辑器的文本输入框元素,通过类名选择器 echo 'const joeEditorTextareaElements = document.getElementsByClassName(\'cm - editor cm - focused ͼ1 ͼ2 ͼ4\');'; // 取第一个匹配到的元素作为Joe编辑器的文本输入框 echo 'const joeEditorTextarea = joeEditorTextareaElements.length > 0? joeEditorTextareaElements[0] : null;'; // 获取Typecho标签输入框元素,通过id选择器 echo 'const tagInput = document.getElementById(\'token - input - tags\');'; // 检查是否成功获取到这两个元素 echo 'if (joeEditorTextarea && tagInput) {'; // 为Joe编辑器的文本输入框添加keyup事件监听器 echo 'joeEditorTextarea.addEventListener(\'keyup\', function () {'; // 获取当前输入框中的文本内容 echo 'const inputText = joeEditorTextarea.value;'; // 用于存储提取出的标签 echo 'const tags = [];'; // 使用正则表达式匹配所有以#开头,且后面跟着非#字符的内容 echo 'const tagMatches = inputText.match(/#([^#]+)/g);'; // 如果匹配到了标签 echo 'if (tagMatches) {'; // 遍历所有匹配到的标签 echo 'tagMatches.forEach(function (tagMatch) {'; // 去除标签前面的#符号,并去除前后空格 echo 'let tag = tagMatch.substring(1).trim();'; // 检查标签是否已经存在于tags数组中,如果不存在则添加 echo 'if (tags.indexOf(tag) === -1) {'; echo 'tags.push(tag);'; echo '}'; echo '});'; // 将tags数组中的标签用逗号连接成字符串 echo 'const tagString = tags.join(\',\');'; // 将处理后的标签字符串填充到Typecho标签输入框中 echo 'tagInput.value = tagString;'; echo '} else {'; // 如果没有匹配到标签,清空Typecho标签输入框 echo 'tagInput.value = \'\';'; echo '}'; echo '});'; echo '}'; echo '});'; echo ''; } } (三)代码解释 激活插件方法(activate):通过 Typecho_Plugin::factory 注册一个钩子,当加载 admin/write - post.php(文章编辑页面)的页脚时,调用 addScript 方法,在页面中注入 JavaScript 代码。 禁用插件方法(deactivate):简单返回一个提示信息,表示插件已停用。 配置插件方法(config)和个人用户配置方法(personalConfig):目前这两个方法为空,后续如果需要添加插件的全局配置或个人用户配置项,可以在这里进行扩展。 添加脚本方法(addScript): 使用 document.addEventListener('DOMContentLoaded', function () {... }) 确保页面 DOM 加载完成后再执行后续代码。 通过 document.getElementsByClassName 获取 Joe 编辑器的文本输入框元素,由于该方法返回一个类数组对象,所以取第一个元素作为实际的输入框。 通过 document.getElementById 获取 Typecho 标签输入框元素。 为 Joe 编辑器的文本输入框添加 keyup 事件监听器,当用户松开按键时触发。 在事件处理函数中,获取输入框的文本内容,使用正则表达式 /#([^#]+)/g 匹配所有以#开头的标签。 遍历匹配到的标签,去除#符号和前后空格,检查是否重复,将不重复的标签添加到 tags 数组中。 将 tags 数组中的标签用逗号连接成字符串,填充到 Typecho 标签输入框中。如果没有匹配到标签,则清空标签输入框。 四、插件安装与启用 上传插件文件 如果你在本地开发环境创建了插件文件,可以使用 FTP 工具将整个 AutoTagExtractor 文件夹上传到 Typecho 网站的 usr/plugins 目录下。 启用插件 登录 Typecho 后台管理界面。 点击左侧菜单中的 “插件” 选项。 在插件列表中找到 “自动标签提取插件”(即 AutoTagExtractorPlugin),点击 “启用” 按钮。启用成功后,会显示提示信息 “插件已激活,可从 Joe 编辑器提取 #标签并自动填充到文章标签输入框”。 五、插件使用与测试 打开文章编辑页面 点击左侧菜单中的 “撰写文章”,进入文章编辑页面。 测试标签提取功能 在 Joe 编辑器中输入带有#开头的标签,例如 #软件 #工具 #免费。当你输入完成或松开按键时,Typecho 文章编辑页面的 token - input - tags 标签输入框会自动填充处理后的标签,显示为 软件,工具,免费,并且会自动去除重复标签和前后空格。 六、注意事项 元素选择器准确性:确保 Joe 编辑器的文本输入框的类名和 Typecho 标签输入框的 id 是准确的。如果这些元素的选择器发生变化,需要相应地修改插件中的 JavaScript 代码。 兼容性:该插件在大多数现代浏览器中应该可以正常工作,但在一些旧版本的浏览器中可能需要进行兼容性处理。 插件更新与维护:如果后续需要对插件进行功能扩展或修复问题,可以直接修改 AutoTagExtractor.php 文件中的代码,修改完成后保存并刷新 Typecho 后台页面即可生效。 通过以上步骤,你就成功地在 Typecho 中实现了 Joe 编辑器标签自动填充的功能,这将大大提高你撰写文章时添加标签的效率。 -
Typecho 博客快速收录秘籍:IndexNow 自动提交插件大揭秘 一、IndexNow技术解析 IndexNow工作原理图图片 IndexNow是微软Bing与Yandex联合推出的内容提交协议,其核心优势包括: 🚀 极速收录:平均收录时间从3天缩短至2小时内 🔒 安全可靠:采用API Key验证机制 🌍 多引擎支持:同时服务Bing/Yandex搜索引擎 🔄 实时反馈:提供完整的提交状态报告 二、Typecho插件深度对比 1. PostToBingIndexNow专业版 # 安装流程(SSH操作) wget https://github.com/TwoThreeWang/PostToBingIndexNow/archive/master.zip unzip master.zip -d /usr/plugins/ mv /usr/plugins/PostToBingIndexNow-master /usr/plugins/PostToBingIndexNow chmod -R 755 /usr/plugins/PostToBingIndexNow核心优势: 支持自定义推送规则(可按分类/标签过滤) 详细日志分析系统 自动重试失败请求(最多5次) 支持HTTPS/HTTP2协议 2. BingIndexNow轻量版 特色功能: ✅ 一键式配置向导 ✅ 自动生成验证文件 ✅ 内置性能监控看板 ✅ 移动端友好界面 三、完整配置手册 1. 前期准备 Bing站长平台: 注册并验证网站所有权 获取32位API Key 下载key.txt验证文件 服务器环境: PHP版本: ≥7.4 扩展要求: cURL OpenSSL 目录权限: /usr/plugins/: 755 /var/log/: 可写 2. 进阶配置技巧 优化推送策略: // 在插件配置中添加 $config = array( 'priority_urls' => ['/category/tech/'], // 优先推送目录 'delay_time' => 300, // 新文章延迟推送(秒) 'max_retry' => 3 // 失败重试次数 );性能监控指标: 指标名称正常范围异常处理方案平均响应时间<500ms检查服务器负载成功率>95%验证API Key有效性每日推送量≤200条启用分批提交策略四、实战问题解决方案 1. 收录异常排查流程 graph TD A[收录异常] --> B{日志分析} B -->|状态码200| C[检查搜索引擎缓存] B -->|状态码403| D[验证key.txt权限] B -->|状态码500| E[检查PHP错误日志]2. 高频问题解答 Q:为什么推送成功但未收录? → 搜索引擎会进行内容质量评估,建议: 确保原创内容占比>70% 添加结构化数据标记 保持内容更新频率 Q:如何验证插件是否正常工作? 使用curl -v测试API接口 检查/var/log/indexnow.log 在Bing站长平台查看提交记录 五、性能优化方案 1. 服务器调优 # Nginx配置建议 location ~* /plugin/indexnow { keepalive_timeout 30s; client_max_body_size 10m; gzip on; }2. 内容策略优化 热点内容优先:将阅读量高的文章加入优先队列 定时批量提交:使用Cronjob设置凌晨低峰期提交 死链自动清理:配置自动检测404页面并停止推送 六、资源下载与扩展 🔧 PostToBingIndexNow v2.3 🛠️ BingIndexNow Pro版 📚 Bing官方API文档 最佳实践建议 内容策略:保持每周≥3篇原创更新 监控方案:配置Zabbix监控插件运行状态 安全备份:定期导出推送记录日志 获取专业SEO审计服务