
前端
文章平均质量分 65
ZTao-z
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
画一个不可以消失的水印
不可删除,不可篡改的页面水印的一种绘制方案原创 2024-02-27 11:51:41 · 595 阅读 · 0 评论 -
跨环境前端组件库打包方案(node+esm)
跨环境前端组件库打包方案原创 2024-02-22 17:16:31 · 907 阅读 · 0 评论 -
大数据表单元格批量请求优化方案
大数据下的接口请求合并优化方案原创 2024-02-06 11:26:49 · 524 阅读 · 0 评论 -
超大表格组件滚动渲染优化
一种大表格多列数据场景滚动优化方案原创 2023-09-28 12:35:55 · 502 阅读 · 0 评论 -
列表首屏毫秒级加载与自动滚动定位方案
大量dom节点的首屏加载优化,以及数据更新后自动定位原可视窗口的方案原创 2023-08-25 19:44:12 · 470 阅读 · 0 评论 -
带样式的HTML节点深拷贝
带样式HTML节点拷贝原创 2023-03-30 16:41:53 · 473 阅读 · 0 评论 -
类Vuex轻量级状态管理实现
前端简单的状态库实现原创 2023-03-01 12:25:32 · 537 阅读 · 0 评论 -
判断文本是否溢出并添加tooltip提示
文本溢出处理小技巧原创 2023-02-18 17:02:51 · 817 阅读 · 0 评论 -
群晖NAS安装frp实现内网穿透(非Docker)
早知道应该加钱买docker版的nas原创 2023-02-05 21:29:06 · 4081 阅读 · 1 评论 -
Yjs解析
CRDT实现库Yjs的简单介绍原创 2023-01-18 14:47:41 · 2706 阅读 · 0 评论 -
flex 九宫格布局实现
flex 九宫格实现原创 2022-11-18 12:16:00 · 1601 阅读 · 0 评论 -
基于三段式命令及筛选器的rbac权限控制方案
灵活的rbac权限控制方案探索与实现原创 2022-11-10 19:53:12 · 600 阅读 · 0 评论 -
可动态获取实例化对象的Typescript装饰器
typescript中可动态获取实例化对象的装饰器的一种实现原创 2022-11-01 11:25:51 · 952 阅读 · 0 评论 -
WordPress search页面出现 404
wordpress search出现404报错原创 2022-09-27 10:34:04 · 615 阅读 · 0 评论 -
Javascript基于protobufjs接入protobuf
protobuf 在前端的应用和实践原创 2022-09-08 15:42:54 · 3160 阅读 · 4 评论 -
使用Exif-js获取图片拍摄方向
基于exif-js库获取图片EXIF信息原创 2022-08-19 17:06:41 · 1970 阅读 · 3 评论 -
检测浏览器是否开启硬件加速
js实现浏览器硬件加速检查原创 2022-08-04 14:33:15 · 2792 阅读 · 0 评论 -
JS线程阻塞时间
JS线程阻塞时间转载 2022-08-02 15:17:27 · 743 阅读 · 0 评论 -
模块联邦 - 介绍、最佳实践
模块联邦的介绍与最佳实践转载 2022-07-27 15:00:48 · 2674 阅读 · 0 评论 -
精简字体库:FontSubsetGUI,FontForge
字体库内容自定义裁剪原创 2022-07-22 16:54:10 · 2505 阅读 · 2 评论 -
Iframe的allow属性生效时机
iframe的allow属性生效时机原创 2022-07-18 11:14:03 · 2752 阅读 · 0 评论 -
跨域资源共享CORS详解及常见错误解决方案
cors详解与常见错误解决方案介绍原创 2022-06-29 19:55:35 · 4453 阅读 · 0 评论 -
Node Express解析Protobuf
在Node Express中使用Protobuf原创 2022-06-13 10:31:33 · 528 阅读 · 0 评论 -
Electron本地打包报错 Unsupported GLOBAL_AGENT.HTTP_PROXY configuration value: URL protocol must be “http:“
Unsupported GLOBAL_AGENT.HTTP_PROXY configuration value: URL protocol must be "http:"原创 2022-03-15 12:12:18 · 995 阅读 · 2 评论 -
TypeScript编译后箭头函数内arguments作用域错误
arguments引用错误原创 2021-10-29 17:06:46 · 2415 阅读 · 0 评论 -
数位板使用PointerEvent补全轨迹坐标数据
使用PointerEvent补全缺失坐标数据原创 2021-10-09 20:13:10 · 904 阅读 · 0 评论 -
JavaScript不同类型相等比较总结
总结 == 比较时Js隐式类型转换导致各种魔幻现象原创 2021-09-18 17:39:38 · 316 阅读 · 0 评论 -
Serverless 云函数实现请求代理
本地转发请求,云函数重新拼接URL并向真实源站请求数据原创 2021-05-03 14:03:27 · 1380 阅读 · 0 评论 -
JavaScript生成随机数为什么用(9301,49297,233280)作为基数
JavaScript随机数生成器// Found this seed-based random generator somewhere// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)var seed = 1;/** * return a random number based on a seed * @param seed * @returns {number} */原创 2021-04-25 16:27:20 · 750 阅读 · 0 评论 -
使用黄金比例与HSV颜色模型生成随机RGB颜色
Javascript代码实现function hsv_to_rgb(h: number, s: number, v: number) { let h_i = Math.floor(h * 6); let f = h * 6 - h_i; let p = v * (1 - s); let q = v * (1 - f * s); let t = v * (1 - (1 - f) * s); let r = 0 let g = 0 let b = 0 if (h_i ==原创 2021-04-21 16:06:20 · 940 阅读 · 0 评论 -
使用father打包发布前端工具库
father库说明GitHub:https://github.com/umijs/father安装yarn add father项目配置0、项目结构1、配置fatherrc.js2、配置src/index.js3、配置components/index.tsx4、运行:father build运行后项目文件夹内会生成一个es文件目录,里面就是打包好的代码库发布代码包(1)发布到私有GitHub仓库// 正常的git提交代码git add .git commit ""原创 2021-03-20 17:25:22 · 9774 阅读 · 2 评论 -
requestAnimationFrame进行循环渲染和事件触发限频
定义requestAnimationFrame的作用是告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行。一般一秒内执行60次,与屏幕刷新频率相同。与setInterval相比的优势// 后续更新动画循环渲染let lastRenderTimestamp = nulllet drawTimer = nulllet renderFPS = 1 / 60function rend原创 2021-02-27 11:20:27 · 1370 阅读 · 0 评论 -
文本框固定任意一顶点后,拖动相对点任意旋转缩放,计算缩放后顶点坐标
问题描述鼠标拖动缩放文本框的时候,需要重新计算缩放后文本框四个顶点的坐标,然后重新绘制新文本框在Office上,缩放文本框的操作一般是鼠标拖动八个控制点其中一个,然后固定住与其相对的控制点的位置,然后进行缩放。举个例子,我现在使用的控制点是红色框内的。现在拖动这个控制点,可以观察到Office的处理逻辑是固定住绿色框内的控制点,同时保持两条蓝色边的方向不变。而原文本框四个顶点的位置已知。换而言之,新文本框的四个顶点中的两个我们是已知的,分别是鼠标拖动的红色顶点和固定不动的绿色顶点,而剩余的两个顶点则是红原创 2021-01-14 17:17:03 · 590 阅读 · 0 评论 -
URL超时后切换至备用URL并重试
轮询URL列表,采用setTimeout进行超时重试原创 2020-12-28 10:48:42 · 294 阅读 · 0 评论 -
React:动态配置嵌套路由及路由守卫
一个支持动态配置、支持路由守卫的React组件。原创 2020-12-08 20:08:12 · 1302 阅读 · 0 评论 -
二分法实现字符串比较
二分查找原创 2020-11-30 10:21:06 · 289 阅读 · 0 评论 -
Web安全笔记:SQL注入
简介SQL注入是一种代码注入技术。一些web应用程序对用户输入数据合法性缺乏严谨校验,此时攻击者可以通过将恶意SQL语句附加到数据中,从而修改应用程序执行操作时使用的SQL语句,在管理员不知情的情况下实现非法操作,执行非授权的任意数据库操作,如获取非授权数据信息。分类按照所使用的技巧,可以分为3类:盲注:(1)布尔盲注:从应用返回的数据中推断SQL语句执行后的返回值(2)时间盲注:应用程序没有相关数据的明确回显,可以通过特定的时间函数来进行判断报错注入:应用会显示全部或者部分的报错信息堆叠原创 2020-11-09 13:12:26 · 281 阅读 · 0 评论 -
Vue 3.0:初窥Vite
Vue 3.0的又一亮点是带来了一个新的开发构建工具:Vite。根据官方文档的描述,它是一个在开发环境下利用现代浏览器原生ES模块进行代码文件的按需加载,并在生产环境下将其与Rollup进行绑定的一个web开发构建工具。优势1、更快的冷启动2、即时热更新(Instant HMR)3、按需编译新功能Bare Module Resolving原生的ES加载模块不支持裸露模块加载(bare module import)。import { createApp } from 'vue'在Vue原创 2020-10-24 13:38:12 · 1628 阅读 · 0 评论 -
markdown实时分块渲染引擎
起因最近在写一个博客小网站,使用markdown作为编写语言。纯文本模式下,markdown预览效果实时渲染基本所有的流行markdown渲染库都能做到。但我打算在博客中加入类似LaTeX数学公式,甘特图,EChart图表等组件,这时候就发现传统的全局渲染延迟过大,特别是添加了图后,快速连续输入几个字符,整个预览界面就会出现卡顿,用户体验确实不好。于是花了几天魔改了一下markdown-it,重新实现了渲染逻辑。相关代码可以在这里查看,也欢迎来我的博客网站https://rgan.work/editor原创 2020-09-19 15:10:06 · 2495 阅读 · 0 评论 -
文本输入框实现输入法隔离以及输入完成后回车执行
let inputCompositionLock = falselet searchInput = document.querySelector('.search-input')searchInput.addEventListener('keydown', (e) => { if (!inputCompositionLock && e.code === 'Enter') { // do something }})searchInput.addEventListe原创 2020-08-25 15:29:48 · 306 阅读 · 0 评论