window.onload用法详解

window.onload用法详解

网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以下两种方式: 一.将脚本代码放在网页的底端,这样在运行脚本代码的时候,可以确保要操作的对象已经加载完成。 二.通过window.onload来执行脚本代码。第一种方式感觉比较凌乱(其实推荐使用),往往我们需要将脚本代码放在一个更为合适的地方,那么window.onload方式就是一个良好的选择。window.onload是一个事件,当文档加载完成之后就会触发该事件,可以为此事件注册事件处理函数,并将要执行的脚本代码放在事件处理函数中,于是就可以避免获取不到对象的情况。先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> document.getElementById("bg").style.backgroundColor="#F90"; </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码的初衷是向将div的背景颜色设置为#F90,但是并没有实现此效果,这是因为代码是顺序执行的,当执行到document.getElementById(“#bg”).style.backgroundColor=”#F90”这一句的时候,还没有加载到此div对象,所以设置也就不能够成功。代码修改如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>位置高度div垂直居中</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.onload=function(){ document.getElementById("bg").style.backgroundColor="#F90"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码实现了将div背景颜色设置为#F90的目的。原因就是讲设置背景颜色的代码放置在window.onload的事件处理函数中,只有当文档加载完成后,才会执行事件处理函数,也才会执行设置背景颜色的脚本代码。事件处理函数绑定:方式一:window.οnlοad=function(){},在以上代码中就是使用此种方式为window.onload事件绑定事件处理函数,这里绑定的是一个匿名函数,当然也可以绑定非匿名函数,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法详解</title> <script type="text/javascript"> window.onload=function myalert() { alert("绑定成功!"); } </script> </head> <body> </body> </html> 以上代码可以将为名myalert方法绑定到window.onload事件上,但是不能以以下方式为此事件绑定多个事件处理函数: window.onload=function a(){} window.onload=function b(){} 以上代码并不能为window.onload事件绑定多个事件处理函数,而是最后一个会覆盖前面的所有函数。不过代码可以变通一下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.onload=function(){ function a(){ document.getElementById("bg").style.backgroundColor="#F90"; } function b(){ document.getElementById("bg").style.width="200px"; } a(); b(); } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码实现了绑定多个事件处理函数同样的效果。方式二:可以使用addEventListener()和attachEvent()为onload事件绑定事件处理函数,下面分别介绍一下:addEventListener()是当前标准的一种事件处理函数绑定方式,但是IE8和IE8以下的浏览器并不支持此方式,实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.addEventListener("load",bg,false); window.addEventListener("load",changeW,false); function bg(){ document.getElementById("bg").style.backgroundColor="#F90"; } function changeW(){ document.getElementById("bg").style.width="200px"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码可以为window.onload事件绑定多个事件处理函数。简单介绍一下语法格式: addEventListener("type",函数名,false) addEventListener()函数具有三个参数,第一个参数事件类型,需要注意的是,事件类型名称前面不能有on,例如window.onload事件,在这个地方只能写作load,第二个参数是要绑定的函数名称,第三个参数一般为false。使用attachEvent()函数绑定事件处理函数:IE9之前的的IE浏览器不支持addEventListener()函数,所以attachEvent()函数就有了用武之地了,代码实例如下:转载请附上原文出处链接及本声明。 <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.attachEvent("onload",bg); window.attachEvent("onload",changeW); function bg(){ document.getElementById("bg").style.backgroundColor="#F90"; } function changeW(){ document.getElementById("bg").style.width="200px"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码的效果和使用addEventListener()函数的效果是一样的,简单介绍一下语法格式: addEventListener("type",函数名) 此函数只有两个参数,第一个参数是事件类型,不过它和addEventListener()的第一个参数的作用是一样,但是名称有所区别,名称前面是具有”on”,第二个参数就是要绑定的事件处理函数名称。为了兼容各浏览器,需要将以上代码进行改造,实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{`这里写代码片` width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> if(window.addEventListener){ window.addEventListener("load",bg,false); window.addEventListener("load",changeW,false); } else{ window.attachEvent("onload",bg); window.attachEvent("onload",changeW); } function bg(){ document.getElementById("bg").style.backgroundColor="#F90"; } function changeW(){ document.getElementById("bg").style.width="200px"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码代码解决了各大浏览器的兼容性问题。在上面代码中使用以下代码进行判断: if(object.addEventListener){ object.addEventListener(); } else{ object.attachEvent(); }   通过if语句判断对象是否具有addEventListener属性,如果有这使用addEventListener()函数,否则使用attachEvent()函数。      

2025-12-17 338 阅读 0 评论
Linux命令:文件传输命令scp详解

Linux命令:文件传输命令scp详解

一、命令简介 `scp`(Secure Copy)是 Linux 系统中一个基于 SSH(Secure Shell)协议的文件传输命令。它允许用户在不安全的网络环境中安全地传输文件。由于使用了 SSH 协议,`scp` 命令在传输过程中会加密数据,确保数据的安全性和完整性。 二、基本语法 1、命令格式 scp 源主机:]文件路径 目标主机:]文件路径 scp命令的用法如下图示:   2、选项列表(Options) -3: 通过 SSH 连接到第三个主机,然后复制文件。这通常用于通过跳板机进行文件传输。 -4: 强制使用 IPv4 地址。 -6: 强制使用 IPv6 地址。 -B: 使用批处理模式(此选项已过时,不推荐使用)。 -C: 允许压缩数据,在传输过程中进行压缩以提高效率。 -p: 保留文件的修改时间、访问时间和权限。 -q: 静默模式,不显示传输过程中的信息。 -r: 递归复制整个目录及其内容。 -T: 禁用伪终端分配(这通常用于脚本或命令行)。 -v: 详细模式,显示传输过程中的详细信息。 (注意:scp 的帮助信息中没有直接列出 -v,但它是常用的,并且经常与 scp 一起使用) -c cipher: 指定加密算法。 -F ssh_config: 指定 SSH 配置文件的位置。 -i identity_file: 使用指定的私钥文件进行身份验证。 -J destination: 跳板机选项,用于通过指定的主机连接到目标主机。 -l limit: 限制传输带宽。 -o ssh_option: 传递单个 SSH 选项。 -P port: 指定 SSH 服务的端口号(默认是 22)。 -S program: 用于连接的主机密钥验证的程序。 source ...: 这是你想要复制的文件或目录的列表。可以使用通配符(如 *)来匹配多个文件。 target: 这是你希望将文件或目录复制到的位置。这可以是一个本地路径(如果目标主机是本地),也可以是一个远程主机的路径(格式为 host:path)。 三、应用场景 scp是一种灵活、安全的文件传输工具,应用场景主要涉及在本地主机和远程主机之间安全地传输文件。以下是一些具体的应用场景: 1、远程备份 如果你需要将重要文件或目录备份到远程服务器上,`scp` 是一个很好的选择。它可以通过 SSH 加密连接,确保文件在传输过程中的安全性。 2、文件传输 当你需要在不同计算机之间传输文件时,`scp` 可以方便地实现这一点。无论是从本地计算机传输到远程服务器,还是从远程服务器下载到本地计算机,`scp` 都能提供安全、高效的解决方案。 3、部署应用程序 在开发过程中,你可能需要将应用程序的代码、配置文件或其他相关文件从开发环境传输到生产环境。`scp` 可以帮助你安全地将这些文件传输到远程服务器上,确保应用程序的正确部署。 4、数据迁移 在服务器迁移或数据中心迁移等场景中,你可能需要将大量数据从旧服务器传输到新服务器。`scp` 可以提供可靠的数据传输服务,确保数据在迁移过程中的完整性和安全性。 5、系统管理任务 对于系统管理员来说,`scp` 是一个常用的工具。他们可以使用 `scp` 在不同的服务器之间传输配置文件、日志文件、备份文件等,以完成各种管理任务。 四、示例 1. 从本地复制到远程主机 命令格式如下: scp /path/to/local/file.txt user@remote_host:/path/on/remote/ 这会将本地的 `file.txt` 文件复制到远程主机 `remote_host` 的 `/path/on/remote/` 目录下。 2. 从远程主机复制到本地 (1)命令解释 命令格式如下: scp user@remote_host:/path/on/remote/file.txt /path/to/local/ 这会将远程主机 `remote_host` 的 `/path/on/remote/file.txt` 文件复制到本地的 `/path/to/local/` 目录下。 (2)实际操作 实操命令如下: scp root@192.168.1.109:/home/DataBaseMysql.zip ./ 这会将远程主机 `r192.168.1.109` 的/home/DataBaseMysql.zip 文件复制到本地的当前目录下,实际操作效果如下图:   3. 递归复制目录 实操命令如下: scp -r user@remote_host:/path/on/remote/directory /path/to/local/ 这会将远程主机 `remote_host` 的 `/path/on/remote/directory` 目录及其所有内容复制到本地的 `/path/to/local/` 目录下。 4. 指定 SSH 端口 如果远程主机的 SSH 端口不是默认的 22,可以使用 `-P` 选项指定端口: scp -P 2222 user@remote_host:/path/on/remote/file.txt /path/to/local/ 五、注意事项 (1)使用 `scp` 命令时,需要确保本地和远程主机之间的 SSH 密钥认证已经设置好,或者每次传输时都需要输入密码。 (2)`scp` 命令依赖于 SSH,因此如果远程主机没有安装 SSH 服务器,或者本地没有安装 SSH 客户端,`scp` 命令将无法使用。 (3)在进行文件传输时,最好使用安全的网络连接,避免在公共或不安全的网络中使用 `scp` 命令传输敏感数据。

2025-12-17 398 阅读 0 评论
ED2K的资源链接如何进行下载?

ED2K的资源链接如何进行下载?

ed2k是分布式的,下载它需要有一个链接,相信来看的一般都是已经找到链接的吧。 例如:ed2k://|file|xxxxxxx|xxxxxx|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|/ 这种形式的。 复制你需要的一条链接,然后打开任意一个下载软件,前提需支持ed2k下载,例如迅雷(其他软件也同理)。 打开下载软件,新建任务,复制进刚才的链接。就会显示其下载文件,之后单击立即下载就可以了。 注:当你已经打开了迅雷,复制链接时,迅雷会自动弹出下载框的(其他软件应该也可以这样的)。

2025-12-17 358 阅读 0 评论
雷电模拟器(64位)v9.1.95.0 去广告纯净版

雷电模拟器(64位)v9.1.95.0 去广告纯净版

软件介绍玩电脑手游模拟器安卓版首选雷电模拟器9.0最新版采用Android 9版本内核.雷电安卓模拟器最新版,支持OpenGL3.1模式3D渲染,游戏稳定多开无压力,提供谷歌安装器,一键宏按键,脚本录制,多开分屏同步器等功能.更新日志ldmnq.com/other/version-history-and-release-notes.html?log=9特点描述雷电模拟器绿色精简版,雷电安卓模拟器去广告绿色版- 去启动界面广告、去任务栏右下角通知区域游戏弹窗- 去雷电游戏中心(安装软件跳出主屏幕游戏推广弹窗行为)- 去桌面底部广告(桌面主屏幕内下方5个内置游戏推广应用)- 拒绝后台广告数据下载请求 %AppData%\Leidian64\Cache- 破解游戏多开(解除了官方版不能同时运行超过5个APP的限制)- 拒绝各种广告联网请求:切断广告、上报信息、检测升级等行为- 免安装净化处理,删除资讯广告程序、上传组件、错误报告文件- 删除系统镜像内置短信app,提供面具(Magisk)及LSPosed框架常见问题处理如何启用ROOT权限?雷电模拟器9.0默认没开ROOT权限界面-设置-其它-root权限-启用即可碰到启动提示需要修复怎么解决?运行下安装目录下的dnrepairer.exe如何只更新去广告后的系统镜像呢?只需下载去广告版提取镜像文件替换到以下位置-LDPlayer9\system.vmdk, vms\system.vmdk运行要求1.需要Windows 10 或更高版64位,暂不支持Win7及以下版本2.需要开启虚拟化技术(VT)VT教程:https://www.ldmnq.com/support/VTjiao/290.html其它帮助说明:https://www.ldmnq.com/forum/86495.html

2025-12-17 148 阅读 0 评论
Isle-Editor (岛屿编辑器) - 免费开源 Web 富文本编辑器,也支持 Notion 块编辑、MarkDown 语法,官方支持 Vue3 开箱即用

Isle-Editor (岛屿编辑器) - 免费开源 Web 富文本编辑器,也支持 Notion 块编辑、MarkDown 语法,官方支持 Vue3 开箱即用

Isle-Editor 简介 Isle-Editor 中文名称是岛屿编辑器,是一款开源 Web 编辑器,支持富文本、块编辑和 MarkDown,最大的特色是除了支持传统的富文本风格外,还支持目前非常流行的 Notion Style 块编辑模式,既能够输出 HTML 作为普通富文本使用,也能够输出 JSON 作为块编辑器。 访问官网   https://editor.islenote.com/zh/   技术特性 Isle-Editor 虽然比较新,但站在了 ProseMirror 和 Tiptap 这两个巨人的肩膀上,技术架构很扎实: 特性 亮点 多模式编辑 支持块编辑、富文本、Markdown、Notion Style 等多种模式 开箱即用 无需复杂配置,几行代码即可快速接入项目 框架无关 优先支持 Vue 视图,更多框架视图正在排期中 高度可扩展 内置丰富的可插拔扩展,支持自定义扩展 主题定制 支持自定义主题样式,内置 light、dark 两种主题 岛屿编辑器特性和亮点一览表 最让我惊喜的是它的块编辑体验,在 Notion Style 下拖拽重组内容块,技术文档排版效率直逼 Notion。 为什么选择 Isle-Editor 之前也考虑过直接用 Tiptap,但 Tiptap 是无头的,不提供 UI 视图,需要自己处理各种扩展的实现和视图层,开发成本很高,最近浏览器 Tiptap 发现,貌似官方也提供了 UI 视图版本,不过是需要付费的。 Isle-Editor 的目标很明确:为开发者提供一套完全开箱即用的富文本编辑器,无需复杂配置就能快速集成。它复用了 Tiptap 的核心实现,同时提供了完整的 UI 视图和更多核心扩展,一番体验下来,就算是国内用户,使用起来也很得心应手,不像有些编辑器习惯于服务英文用起来别扭。 如果恰巧正在用 Tiptap 开发项目,还可以无缝使用 Isle-Editor 的核心扩展,它可以说是 Tiptap 的一个最佳实践。 开发上手体验 官网说只需几行代码,考虑到实际项目需求较复杂,下面是最简单直接的接入方案: 安装依赖 npm install isle-editor Vue 项目中使用 <script setup> import { IsleEditor } from 'isle-editor' import 'isle-editor/dist/style.css' const content = '请开始你的创作...' </script> <template> <IsleEditor v-model="content" /> </template> 这样就完成了基础集成,编辑器已经具备了常用的编辑功能。 适用场景 Isle-Editor 特别适合以下开发场景: 内容创作:博客、文档、笔记等内容创作 协同编辑:团队协作、实时编辑场景 富文本编辑:需要图片、视频、表格等富文本内容 自定义编辑器:需要根据业务需求定制专属编辑器,比如 admin 中后台管理系统 建议先访问官方在线演示快速体验功能,看看这款编辑器的 UI 界面、块编辑和 Notion Style 是否符合你的需求。如果正好需要这种现代化的编辑体验,Isle-Editor 是个很不错的选择。

2025-12-16 422 阅读 0 评论
Photor - 免费好用的截图美化在线工具,网页/软件等屏幕截图美化我一直在用它

Photor - 免费好用的截图美化在线工具,网页/软件等屏幕截图美化我一直在用它

Photor 介绍 Photor 是一个非常简单好用的屏幕截图美化工具,可以帮助我们点几下鼠标就得到美观好看的屏幕截图效果图,让普通的截屏瞬间升级为具有专业设计感的展示图片。适合用于制作教程文档、展示软件界面,或者是在其他内容中展示屏幕界面。 访问官网   https://www.photor.fun   功能特点 无需登录账户,也没有任何会员和广告,打开浏览器就能用; 实用且好看:一键背景颜色、增加 Mac 窗口、图片阴影、圆角等,让截图变得美观; 简单且强大:支持随意添加形状、线条、文字、emoji 等标注,让截图清晰明了; 多种尺寸导出:足够灵活自如,内置各大自媒体平台的多种尺寸一键导出; 绝对的安全:从截图、编辑到导出,完全运行在浏览器中,不会上传任何数据。 以前繁琐的截图操作 为了得到美观的屏幕截图,以前我是直接把电脑桌面清空,换上一个具有代表性系统内置的桌面背景,截取带浏览器界面的图片。这种方式不仅操作麻烦,整理桌面、调整浏览器窗口,每次截完图需要换回我喜欢的壁纸,而且文章发布到自媒体平台会时,会检测到截图中的浏览器地址栏带有网址,很容易被判定为广告… Photor 浏览器插件 既然我的大部分文章配图都是网页截图,于是我就找到 Photor 这款图像工具,因为 Photor 不仅是一款在线工具(上传或粘贴图片开始美化),还提供了浏览器插件,可以在想要截图的网页上一键截图,然后开始美化操作。   美化操作的功能都很简单,我的截图一般只需要调整边距、圆角,增加 mac 的顶部工具栏(使图片看起来是屏幕截图),就可以直接导出了。由于我的是 4K 屏幕,截图以及导出的图片非常高清,上传到网站还需要进一步压缩图片。 免费使用说明 Photor 是一款完全免费且没有任何广告的截图美化工具,无论是在线网页版还是 Chrome / Edge 浏览器插件版,都可以免费使用。

2025-12-16 341 阅读 0 评论
Inspira UI - 免费开源、充满活力的 3D 视觉炸裂级动画组件库,支持 Vue3 集成,兼容 Nuxt.js

Inspira UI - 免费开源、充满活力的 3D 视觉炸裂级动画组件库,支持 Vue3 集成,兼容 Nuxt.js

Inspira UI 介绍 Inspira UI 是一个 Vue.js 的生态项目,不过它不是一个传统的 UI 组件库,而是基于 TailwindCSS, motion-v, gsap 和 threejs 打造的可重复使用动画组件的集合,其核心目标是填补 Vue3 生态系统中动效开发工具的空白,可以帮助前端开发者轻松快速创建出惊艳的 3D 酷炫动画。 访问官网   https://inspira-ui.com/   技术架构 Inspira UI 的技术栈是现代前端技术的融合体,使用现代前端开发中最受欢迎的工具和框架,性能与开发体验都有所保证: 基于 Tailwind CSS V4 构建了样式系统,这也是 Inspira UI 的核心基础,确保了原子类叠加的灵活性,也支持浅色/深色模式的一键切换; 所有组件均提供完整的 TypeScript 类型定义,为开发者提供良好的类型安全支持; 动画实现使用了专业级的 GSAP 来处理复杂时间线动画,以及把 motion-v 用于 Vue 集成的声明式动画; 酷炫的 3D 效果更是引入了 Three.js 这个重量级工具库。 除此之外,性能优化是 Inspira UI 的一大亮点。基于 Vue 3.4+ 的 defineModel 与 watchEffect 语法重构,据说减少了 30% 的响应式依赖开销。还会针对不同设备能力,它会自动调节动效帧率,并对所有组件实施了“懒加载 + 预渲染”优化,官方数据显示首屏加载速度较旧版提升 35%。 120+ 动画组件库 Inspira UI 官网就应用了大量酷炫的动画效果,我们可以直观感受到鼠标移动效果以及绚烂背景等有高级感的动效。在过去,我们 Vue 开发者想要实现复杂的动画效果,需要做大量的开发和调试工作,并且在不同浏览器中处理兼容性问题。而 Inspira UI 提供了 120 多个可直接复用的动画组件,涵盖了从基础交互到高级视觉效果的广泛需求。 组件类别 数量 动画效果 背景特效 (Backgrounds) 20个 流体动画、粒子系统、动态渐变背景 文字动画 (Text Animations) 22个 3D文字、视频文字、打字机效果 特殊效果 (Special Effects) 10个 镜头效果、液体Logo、像素过渡 可视化效果 (Visualization) 13个 3D交互元素、数据可视化组件 卡片组件 (Cards) 6个 带悬停效果的卡片、3D翻转卡片 按钮组件 (Buttons) 5个 渐变按钮、悬浮效果按钮 设备模拟 (Device Mocks) 2个 iPhone界面模拟器 输入与表单 (Input And Forms) 3个 带动画的输入框和表单元素 光标效果 (Cursors) 2个 自定义鼠标悬浮效果 杂项组件 (Miscellaneous) 25个 各种特定场景的动画效果 主要组件分类及数量统计表 安装和集成指南 安装各个工具库的依赖 因为依赖多个前端技术库,Inspira UI 的安装稍微有点麻烦,不过官网有详细的安装教程,而且官方提供了中文,这里就不铺代码了。   免费开源说明 Inspira UI 是一个完全免费的开源项目,源码基于 MIT 开源许可证托管在 Github 上,开发者可以自由地使用、修改和分发这些组件,用在商业项目上也完全没问题。 需要注意,Inspira UI 本身是完全免费开源的,还有个官网还有一个 Inspira UI PRO 是付费的,不要搞混了。

2025-12-16 336 阅读 0 评论
SLEA AI - 免费的 Logo 在线生成器,AI 生成的 Logo 水平吊打淘宝几千元的设计外包

SLEA AI - 免费的 Logo 在线生成器,AI 生成的 Logo 水平吊打淘宝几千元的设计外包

输入几个关键词,只需要几十秒,就可以免费得到具有结合品牌定位与行业特色的 logo  AI 在线 Logo 生成器 今天给大家推荐的这款小工具叫 SLEA AI,是一个基于人工智能技术的免费在线 Logo 生成器,非常实用,可以帮助我们轻松创建质量在线的 Logo 设计。无论是初创企业的品牌建设,还是个人自媒体 IP,都可以考虑尝试这个便捷的解决方案,不需要任何设计的技能。 SLEA AI 官网   https://slea.ai/zh-CN   几个推荐理由 有 AI 加持,使用简单,支持多个行业,无论是教育、科技还是餐饮行业,无论需要极度简洁还是非常复杂的设计,都能获得对应的输出结果; 不用下载安装,无需注册账号,打开浏览器就能用,支持中文界面; 支持高达 3000×3000 的高清图片下载,也支持下载 PNG 透明图,可以方便地进行二创修改。 SLEA AI 不仅适合无设计基础的小白,即便是有更高要求的专业用户,也可以将生成的结果作为设计起点,进行进一步的优化,或者像我之前一样,纯粹用来作为灵感参考。 Logo 设计需求的尴尬境地 无论是个人自媒体还是企业,一个好看、独特、符合定位的 Logo 是刚需,但设计一个好的 Logo 绝非易事,很多需求几乎都是通过淘宝获取其他设计师接单平台外包完成,我就曾经作为负责人沟通过淘宝外包 Logo 的事宜,花费数千元设计费,持续几周的沟通和修改得到的成品简直不忍直视。但这事儿已经过去好些年,本以为现在会有所改变。 上个月从前同事那里了解到,他们的专门做机器人灵巧手的公司最近拿到了融资,希望把原来的 Logo 做一个升级,也是花费了数千的设计费,得到的设计稿要么和企业完全不相干,要么设计美感甚至不如原来粗糙版的 Logo,最后无奈升级失败,只能用回原版 Logo。 难道想要一个水平在线的 Logo,只能花费数十万真正上百万聘请顶级的设计团队来操刀?今天这款工具完全可以满足很多人的需求。 上手使用体验和建议 超简单的 Logo 生成 使用 SLEA AI 设计 Logo 非常简单直观且高效,就几个简单步骤: 打开网站,点击「立即免费开始」,和目前大部分 AI 工具一样,根据提示,在指令输入框中填写 Logo 名称、核心元素,最后选择所属行业。以我的网站「那些免费的砖」为例,我输入“免费,数字资源,个人网站logo,使用黄色和紫色,极简风格”指令,风格选择简约,最后选择「互联网」行业,等待几十秒,就会得到 4 组 Logo。

2025-12-16 351 阅读 0 评论
WordPress屏蔽垃圾英文评论的方法

WordPress屏蔽垃圾英文评论的方法

 WordPress创建的网站基本都面临垃圾评论的问题,即便安装了所谓最好的Akismet 反垃圾评论插件,仍然会收到大量群发的英文垃圾评论。今天看到了一个博主的代码解决方法,思路非常巧妙,那就是判断评论中是否包含中文(汉字),因为绝大部分的垃圾评论都是英文群发的。我们禁止不包含中文的评论,那么几乎就屏蔽了99.99%的垃圾评论。下面就将代码分享给大家。 将下面的代码加入到主题的functions.php文件中即可。 /* 评论验证 */ function refused_spam_comments($comment_data) { //登录用户不验证 if (is_user_logged_in()) { return $comment_data; } //验证是否包含中文 $pattern = '//u'; if (!preg_match($pattern, $comment_data)) { err('零五网(www.02405.com)友情提示:评论必须含中文!'); } if (wp_blacklist_check($comment_data, $comment_data, $comment_data, $comment_data, $comment_data, $comment_data)) { // header("Content-type: text/html; charset=utf-8"); err('零五网(www.02405.com)友情提示:你填写的某项信息或IP地址已被列入黑名单,无法进行评论,请文明评论!'); } else { return $comment_data; } } add_filter('preprocess_comment', 'refused_spam_comments');

2025-12-16 325 阅读 0 评论
ZFAKA自动发卡平台源码搭建教程完整版(含易支付插件配置)

ZFAKA自动发卡平台源码搭建教程完整版(含易支付插件配置)

ZFAKA 是一款基于 YAF 和 Layui 开发的开源发卡程序,开发者承诺永久免费使用。原作者已删除了 GitHub 和 Gitee 上的项目仓库,但幸运的是,版本 V1.4.5 的安装包仍保存在我的电脑中。如果有需要的朋友,可以在下方下载。 系统概述 ZFAKA 系统支持 自动发卡 和 手工发卡 两种方式,并且内置 会员中心 和 后台管理中心。 会员模块 •默认情况下不支持注册,但后台管理员可以开启注册功能。 •注册后,会员可以查看自己的历史购买记录。 购买模块 •系统支持自动发卡和手工发卡两种模式,满足不同需求。 后台模块 •包括设置模块、订单管理、商品管理、配置管理、卡密导入导出等功能。 •后台可自定义首页模板,并可以控制验证码、注册、登录、找回密码等功能的开关。 支付渠道 支持多种支付接口,包括: •支付宝当面付 •支付宝电脑网站支付 •微信扫码支付 •微信 H5 支付 •PayPal 支付 •彩虹易支付(官方源码中未包含) 系统部署 建议使用 宝塔面板 来进行部署,操作简便,可以有效减少错误发生。 PHP 安装 YAF 扩展 •在 PHP 7.2 版本中可能找不到 YAF 扩展,推荐使用其他 PHP 版本。   配置 YAF •在软件管理中找到你使用的 PHP 版本,进入 设置 > 配置文件,添加如下配置: yaf.use_namespace=1   系统安装步骤 上传并解压安装包 •将安装包上传至服务器根目录并解压。 修改配置文件名 •进入系统的 conf 目录,将 application.ini.new 文件重命名为 application.ini。   配置网站目录并取消防跨站攻击限制 修改相关配置文件,确保取消 open_basedir 限制。   关闭 PATH_INFO •找到对应的 PHP 文件目录,关闭 PATH_INFO 设置。   直接访问安装 •完成以上设置后,可以直接访问安装页面进行安装。 支付设置 1.将 Pay 目录下的三个文件夹 alpayalipay, alpaywxpay, alpayqqpay 上传到 ZFAKA 程序的 application/library/Pay 目录。 2.将 tpl 目录下的三个支付模板文件 alpayalipay.html, alpaywxpay.html, alpayqqpay.html 上传到 application/modules/Admin/views/payment/tpl 目录。 3.进入数据库,执行以下 SQL 语句插入支付数据: INSERT INTO`t_payment`(`payment`,`payname`,`payimage`,`alias`,`sign_type`)VALUES ('易支付支付宝','支付宝','/res/images/pay/alipay.jpg','alpayalipay','MD5'), ('易支付微信','微信支付','/res/images/pay/weixin.jpg','alpaywxpay','MD5'), ('易支付QQ','QQ支付','/res/images/pay/qqpay.jpg','alpayqqpay','MD5'); 完成上述步骤后,就可以在后台设置支付接口。 外观设置 •在 设置中心 中,点击 配置中心,可以自定义外观模板、弹窗广告、公告栏等内容。

2025-12-15 329 阅读 0 评论