typecho1.3.0关于编辑器页面自定义字段TAB切换失效解决方案
typecho1.3.0版本后自定义字段下面的相关样式做出了改变，这就导致以前的js代码无法正确获取相关数据，故而就无法正常使用。解决方法也不是唯一性，当然还有更好的解决方法，不过本人技术有限，只能通过下面的方法进行解决。//自定义字段扩展，把下面的代码添加到functions.php文件中 Typecho_Plugin::factory('admin/write-post.php')->bottom = array('tabField', 'tabs'); Typecho_Plugin::factory('admin/write-page.php')->bottom = array('tabField', 'tabs'); class tabField{ public static function tabs() { ?> <?php } }
typecho1.3.0关于编辑器页面自定义字段样式错位解决方案
typecho1.3.0版本后台css样式出现了部分修改与不同，使用下面的方法即可解决自定义字段当中的描述信息间距问题。// 注册插件的方式，把下面的代码添加到functions.php文件中 Typecho_Plugin::factory('admin/write-post.php')->bottom = array('editora', 'reset'); Typecho_Plugin::factory('admin/write-page.php')->bottom = array('editora', 'reset'); // 重置编辑器按钮 class editora{ public static function reset() { echo ' '; } }
typecho1.3.0关于文章编辑器按钮显示不全解决方法
typecho1.3.0版本后台css样式出现了部分修改与不同，这就导致以前的旧主题多多少少会出现样式错乱问题。通过下面的方法至少可以让被遮挡的按钮显示完全，当然方法不止这一种。// 注册插件的方式，把下面的代码添加到functions.php文件中 Typecho_Plugin::factory('admin/write-post.php')->bottom = array('editor', 'reset'); Typecho_Plugin::factory('admin/write-page.php')->bottom = array('editor', 'reset'); // 重置编辑器按钮 class editor{ public static function reset() { echo ' '; } }
AI短视频制作一本通：零基础入门，轻松玩转AI短视频！你是否想要抓住短视频风口，却苦于没有专业技能？是否想要用AI技术提升视频创作效率，却不知从何入手？现在，机会来了！这是一本专为短视频创作者打造的AI工具指南，手把手教你从零开始，利用AI技术轻松制作爆款短视频！本资料包含：AI短视频制作全流程解析： 从选题策划、脚本撰写，到视频剪辑、特效制作，一站式掌握短视频创作技巧。主流AI工具实战教程： 详细讲解ChatGPT、Runway、D-ID等热门AI工具的使用方法，助你提升创作效率。爆款短视频案例分析： 拆解热门短视频案例，学习成功经验，打造属于自己的爆款视频。实用素材资源包： 提供丰富的视频素材、音效、字体等资源，助你快速完成视频制作。无论你是短视频新手，还是想要提升创作效率的资深玩家，这本资料都将是你的必备指南！资源链接：
{zt a="0" b="https://yayu.net/" c="https://github.com/imjeff/typecho-paper"}主题介绍：Paper，一页纸，一片让博主可写可绘的极简创作空间。本主题为极简主题，禅定黄+静思蓝暗黑配色，无 JS、CSS 文件载入，对代码极简优化。主题支持自定义背景、自定义菜单，保留搜索及评论功能；内置文章归档模板；已作中文字体优化，内置3种字体方案可选。主题仅9个文件共49kb。使用方法：上传并激活主题，开箱即用。主题已内置3种字体方案，分别为雅黑、仿宋和宋体。如需要调整字体，在“控制台”》“外观”的“编辑当前外观”页签中选择编辑 header.php 文件，根据提示对第43行进行修改。文章归档创建一个新的独立页面，或选择一个已有页面；编辑状态，在独立页面“选项”的“自定义模板”中选择“文章归档”模板。该模板按年月展示博客所有文章。
可变透明度返回顶部代码，如果向下滚动超过1200像素，按钮的透明度会下降，减少视觉干扰，更便于浏览内容主体，非常贴心的用户体验，兼容主流浏览器js代码// JavaScript Document (function($){ var goToTopTime; $.fn.goToTop=function(options){ var opts = $.extend({},$.fn.goToTop.def,options); var $window=$(window); $body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body'); // opera fix //$(this).hide(); var $this=$(this); clearTimeout(goToTopTime); goToTopTime=setTimeout(function(){ var controlLeft; if ($window.width() > opts.pageHeightJg * 2 + opts.pageWidth) { controlLeft = ($window.width() - opts.pageWidth) / 2 + opts.pageWidth + opts.pageWidthJg; }else{ controlLeft = $window.width()- opts.pageWidthJg-$this.width(); } var cssfixedsupport=$.browser.msie && parseFloat($.browser.version) < 7;//判断是否ie6 var controlTop=$window.height() - $this.height()-opts.pageHeightJg; controlTop=cssfixedsupport ? $window.scrollTop() + controlTop : controlTop; var shouldvisible=( $window.scrollTop() >= opts.startline )? true : false; if (shouldvisible){ $this.stop().show(); }else{ $this.stop().hide(); } $this.css({ position: cssfixedsupport ? 'absolute' : 'fixed', top: controlTop, left: controlLeft }); },30); $(this).click(function(event){ $body.stop().animate( { scrollTop: $(opts.targetObg).offset().top}, opts.duration); $(this).blur(); event.preventDefault(); event.stopPropagation(); }); }; $.fn.goToTop.def={ pageWidth:960,//页面宽度 pageWidthJg:2 ,//按钮和页面的间隔距离 pageHeightJg:100,//按钮和页面底部的间隔距离 startline:300,//出现回到顶部按钮的滚动条scrollTop距离 duration:500,//回到顶部的速度时间 targetObg:"html"//目标位置,用body太恶心了，回不到最上面去 }; })(jQuery); $(function(){ $('').appendTo("body"); });我在原来的css修改了一点点，各位可以在原来的代码中重新修改。.cd-top { z-index:9999; display: inline-block; border-radius: 3px; height: 38px; width: 38px; position: fixed; bottom: 40px; right: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); /* image replacement properties */ overflow: hidden; text-indent: 100%; white-space: nowrap; background: rgba(232, 98, 86, 0.8) url(https://yfch.top/img/top.png) no-repeat center 50%; visibility: hidden; opacity: 0; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; } .cd-top.cd-is-visible { /* the button becomes visible */ visibility: visible; opacity: 0.85; } .cd-top.cd-is-visible:hover { /* the button becomes visible */ visibility: visible; background: #8BC34A url(https://yfch.top/img/top.png) no-repeat center 50%; opacity: 1; } .cd-top.cd-fade-out { /* 如果用户继续向下滚动,这个按钮的透明度会变得更低 */ opacity: .5; } .no-touch .cd-top:hover { background-color: #e86256; opacity: 1; } @media only screen and (min-width: 768px) { .cd-top { right: 20px; bottom: 20px; } } @media only screen and (min-width: 1024px) { .cd-top { height: 38px; width: 38px; right: 30px; bottom: 30px; } }Top使用方法js 引用到header.php的标签前面css 添加到 style.css 文件里面HTML 添加到 header.php 的标签的后面的前面其他本来这个按钮是会被其他div模块遮盖的。怎样设置一个DIV在所有层的最上层，最上层DIV，其实很简单，只需要在这个DIV上使用这个样式即可，z-index:99999; 文章来源于:https://www.yvii.cn/archives/1928.html
当我们浏览其他站长网站 我们会发现樱花飘落特效非常的好看 给网站带来了浪漫元素 给访客带来美的感受下面我来教一下如何使用js代码实现调用樱花飘落特效直接添加至js标签位置即可 也可以是html标签下面js代码[hide]var stop, staticx; var img = new Image(); img.src = "[binary]"; function Sakura(x, y, s, r, fn) { this.x = x; this.y = y; this.s = s; this.r = r; this.fn = fn; } Sakura.prototype.draw = function (cxt) { cxt.save(); var xc = 40 * this.s / 4; cxt.translate(this.x, this.y); cxt.rotate(this.r); cxt.drawImage(img, 0, 0, 40 * this.s, 40 * this.s) cxt.restore(); } Sakura.prototype.update = function () { this.x = this.fn.x(this.x, this.y); this.y = this.fn.y(this.y, this.y); this.r = this.fn.r(this.r); if (this.x > window.innerWidth || this.x < 0 || this.y > window.innerHeight || this.y < 0) { this.r = getRandom('fnr'); if (Math.random() > 0.4) { this.x = getRandom('x'); this.y = 0; this.s = getRandom('s'); this.r = getRandom('r'); } else { this.x = window.innerWidth; this.y = getRandom('y'); this.s = getRandom('s'); this.r = getRandom('r'); } } } SakuraList = function () { this.list = []; } SakuraList.prototype.push = function (sakura) { this.list.push(sakura); } SakuraList.prototype.update = function () { for (var i = 0, len = this.list.length; i < len; i++) { this.list[i].update(); } } SakuraList.prototype.draw = function (cxt) { for (var i = 0, len = this.list.length; i < len; i++) { this.list[i].draw(cxt); } } SakuraList.prototype.get = function (i) { return this.list[i]; } SakuraList.prototype.size = function () { return this.list.length; } function getRandom(option) { var ret, random; switch (option) { case 'x': ret = Math.random() * window.innerWidth; break; case 'y': ret = Math.random() * window.innerHeight; break; case 's': ret = Math.random(); break; case 'r': ret = Math.random() * 6; break; case 'fnx': random = -0.5 + Math.random() * 1; ret = function (x, y) { return x + 0.5 * random - 1.7; }; break; case 'fny': random = 1.5 + Math.random() * 0.7 ret = function (x, y) { return y + random; }; break; case 'fnr': random = Math.random() * 0.03; ret = function (r) { return r + random; }; break; } return ret; } function startSakura() { requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame; var canvas = document.createElement('canvas'), cxt; staticx = true; canvas.height = window.innerHeight; canvas.width = window.innerWidth; canvas.setAttribute('style', 'position: fixed;left: 0;top: 0;pointer-events: none;'); canvas.setAttribute('id', 'canvas_sakura'); document.getElementsByTagName('body')[0].appendChild(canvas); cxt = canvas.getContext('2d'); var sakuraList = new SakuraList(); for (var i = 0; i < 50; i++) { var sakura, randomX, randomY, randomS, randomR, randomFnx, randomFny; randomX = getRandom('x'); randomY = getRandom('y'); randomR = getRandom('r'); randomS = getRandom('s'); randomFnx = getRandom('fnx'); randomFny = getRandom('fny'); randomFnR = getRandom('fnr'); sakura = new Sakura(randomX, randomY, randomS, randomR, { x: randomFnx, y: randomFny, r: randomFnR }); sakura.draw(cxt); sakuraList.push(sakura); } stop = requestAnimationFrame(function () { cxt.clearRect(0, 0, canvas.width, canvas.height); sakuraList.update(); sakuraList.draw(cxt); stop = requestAnimationFrame(arguments.callee); }) } window.onresize = function () { var canvasSnow = document.getElementById('canvas_snow'); } img.onload = function () { startSakura(); } function stopp() { if (staticx) { var child = document.getElementById("canvas_sakura"); child.parentNode.removeChild(child); window.cancelAnimationFrame(stop); staticx = false; } else { startSakura(); } } [/hide]文章来源于：https://52ql.cn/756.html
想必有很多朋友碰到过微信无缘无故被人投诉了，这种情况对生活和工作还是有影响的；下面给大家分享如何去查询自己微信是被谁给投诉的方法，微信被封的朋友可以去试试。步骤如下：1、微信关注公众号【微信团队】菜单栏意见反馈--点“此处”--下拉到底其他选项--下拉“其他异常反馈”2、在意见栏输入：“我的账号无缘无故被人恶意投诉，严重影响正常工作和沟通。请求严查此人为何投诉我“诸如此类的话语，然后点击提交即可3、大概一天左右的时间，腾讯客服就会给出反馈，之后在推送的回馈处点击进去查看结果，会弹出”处理详情“的页面点进去！4、可以看到投诉你的人微信号的前两位和后两位，还有投诉你的原因和时间，可以根据这个在好友列表中去找到这个人
V5加密如何解密？ V5解密方法全过程分享
V5加密如何解密？ V5解密方法全过程分享(function (js_body) { // 脱壳 && 解密 let js_arr = js_body.split("\n").pop().split(';'), fun_name = /var\s+(_0x[a-z0-9]+)=/.exec(js_arr[6])[1], reg_str = fun_name + '\\(' + "'([^']+)',\s*'([^']+)'" + '\\)', js_str = js_arr.slice(54, js_arr.length - 4).join(';'), code_shell = js_arr.slice(0, 54).join(';'), shell_obj = eval("(function(){" + code_shell + ";return " + fun_name + "})()"); js_str = js_str.replace(new RegExp(reg_str, 'g'), function (str, id, key) { return '"' + shell_obj(id, key) + '"'; }).replace(/([a-z0-9\-_A-Z)\]]+)\s?\[["']([^"']+)["']\]/g, '$1.$2').replace(/(?, function (hex) { return parseInt(hex).toString(); }); // 还原混淆 let obj = null, name = ''; js_str = js_str.replace(/{(var\s+(_0x[0-9a-z]+)=(\{(.*)\}));/g, function (str, code_str, _name, obj_str) { obj = eval("(function () {return " + obj_str + "})()"); name = _name; return '{'; }); if (obj) { let i = 5; while (js_str.indexOf(name) && --i > 0) { for (const key in obj) { if (!obj.hasOwnProperty(key)) continue; if (typeof obj[key] == 'function') { let fun_info = /function\s*_0x[0-9a-z]+\(([^)]*)\){return\s*([^;]+);}/.exec(obj[key].toString()); js_str = js_str.replace(new RegExp(name + '\\.' + key + '\\(([^())]*)\\)', 'g'), function (string, args_str) { let args = args_str.split(','), fun_args = fun_info[1].split(','), fun_body = fun_info[2]; fun_args.forEach(function (item, index) { fun_body = fun_body.replace(item, args[index]); }); return fun_body; }); } else if (typeof obj[key] == 'string') { js_str = js_str.replace(name + '.' + key, '"' + obj[key] + '"'); } else { js_str = js_str.replace(name + '.' + key, obj[key].toString()); } } } } return js_str; })($('#resultSource').val() || $('#jsdata').val()); 文章来源于:https://riced.cn/post-633.html