分类:前端
392 篇文章
神奇的 contenteditable
神奇的 contenteditable
探索 contenteditable 的神奇之处,并使用它构建一个简单的所见即所得编辑器。
有着代码高亮的代码编辑组件 Monaco
有着代码高亮的代码编辑组件 Monaco
有着代码高亮的代码编辑组件 Monaco
强大的 toLocaleDateString
强大的 toLocaleDateString
使用 JavaScript 中的 `toLocaleDateString` 方法格式化日期字符串。
Markdown 编辑器 富文本编辑器 调研
Markdown 编辑器 富文本编辑器 调研
本文调研了 Markdown 编辑器和富文本编辑器,包括 cherry-markdown, tiptap, editor.md, lexical, Umo-Editor, md-editor-v3 等,并最终选择了 cherry-markdown。
Vue 项目中 KeepAlive 缓存失败原因排查
Vue 项目中 KeepAlive 缓存失败原因排查
本文探讨了 Vue 项目中 KeepAlive 缓存失败原因排查
keep-alive 缓存页面不生效的三种原因
keep-alive 缓存页面不生效的三种原因
Vue keep-alive 缓存页面不生效的三种原因
Fabric.js: 解除缩放比例固定
Fabric.js: 解除缩放比例固定
Fabric.js 中如何解除缩放比例固定。两种方法:在缩放时按住 Shift 键,或设置`canvas.uniformScaling = false;`
解决自定义字体加载闪烁问题
解决自定义字体加载闪烁问题
使用 `font-display: swap;` 属性可以有效解决加载自定义字体时出现的闪烁问题。
解决微信 H5 页面缓存导致更新不生效的问题
解决微信 H5 页面缓存导致更新不生效的问题
本文介绍如何解决微信环境下 H5 页面缓存导致更新不生效的问题,包括后端设置响应头和前端设置 meta 标签两种方法。
解决 iOS 连点问题
解决 iOS 连点问题
本文介绍如何使用 fastclick 解决 iOS 设备上的连点问题。
Android 播放按钮适配问题
Android 播放按钮适配问题
解决安卓手机上播放按钮 position: absolute;无效的问题。img 标签默认是 inline 元素,导致 position 属性失效。通过添加 display: block;属性解决该问题。
滚动到指定位置并进行偏移
滚动到指定位置并进行偏移
本文介绍如何使用 JavaScript 将页面滚动到指定元素位置并进行偏移,避免被其他元素遮挡。
禁用 H5 视频自动全屏
禁用 H5 视频自动全屏
如何禁用 H5 视频播放的自动全屏功能,并提供相关的代码示例。
iOS 内容安全区域处理
iOS 内容安全区域处理
本文介绍如何在 iOS 设备上使用 CSS 处理内容安全区域,避免内容被刘海屏或底部虚拟按键遮挡。文章提供 HTML `<meta>` 标签和 CSS 代码示例,以及一个使用 JavaScript 异步调用 App 的函数。
Node.js 错误代码 ERR_OSSL_EVP_UNSUPPORTED
Node.js 错误代码 ERR_OSSL_EVP_UNSUPPORTED
Node.js 错误代码 ERR_OSSL_EVP_UNSUPPORTED 通常与 Node.js 版本和证书参数有关。解决方法包括使用环境变量 `NODE_OPTIONS=--openssl-legacy-provider` 或在 `package.json` 的 `scripts` 节点中配置该选项。此外,确保私钥格式正确,包含 `-----BEGIN PRIVATE KEY-----` 和 `-----END PRIVATE KEY-----` 等标记。如果私钥格式错误,例如仅包含 `Padfadfafccaf...xadfda` 这样的内容,也会导致该错误。
幻灯片左右两侧显示一小块预览
幻灯片左右两侧显示一小块预览
使用 Swiper 实现幻灯片左右两侧显示预览效果的教程,包含 HTML、CSS 和 JavaScript 代码示例。
URL Scheme 调用 App
URL Scheme 调用 App
使用 JavaScript 通过 URL Scheme 调用 App 的方法,包含超时处理。
JavaScript Sticky 吸顶效果实现与优化
JavaScript Sticky 吸顶效果实现与优化
本文探讨了 JavaScript 实现 Sticky 吸顶效果的多种方法,包括使用 `scroll`事件监听器、`getBoundingClientRect()` 方法、`requestAnimationFrame`、`IntersectionObserver` API 等,并分析了每种方法的优缺点及可能遇到的问题,例如抖动现象和 `z-index` 失效等。最终,文章推荐了使用`position: sticky`的方案,并提供了相应的代码示例和优化建议。
CSS border-radius 属性详解
CSS border-radius 属性详解
本文深入讲解 CSS 属性 `border-radius` 的使用方法,并提供示例代码,包括如何使用百分比和具体数值来创建圆角边框。
CSS 动画实现元素从右到左插入
CSS 动画实现元素从右到左插入
使用 CSS 动画,让一个元素从右侧平滑地插入到页面中。文章提供 HTML、CSS 和 JavaScript 代码示例,并解释了实现方法。
CSS 图片比例设置方法
CSS 图片比例设置方法
本文介绍两种使用 CSS 设置图片比例的方法:第一种方法使用 `width`、`height`、`object-fit: cover` 属性;第二种方法使用 `aspect-ratio` 属性。两种方法都能有效控制图片比例,避免图片变形。
前端动画库推荐
前端动画库推荐
本文推荐几款常用的前端动画库,包括 animate.css, animejs, motion.dev 和 framer,方便开发者选择合适的动画库进行开发。
全文搜索技术调研
全文搜索技术调研
本文调研了全文搜索相关的技术,包括前缀树、Trie 树、后缀树、倒排索引、BKD 树等数据结构,以及 Elasticsearch、Apache Solr、Apache Lucene、Meilisearch、TypeSense 等全文搜索库。
JavaScript 除法运算中处理除数为零的情况
JavaScript 除法运算中处理除数为零的情况
JavaScript 中除法运算时,如果除数为 0,结果将为 NaN (Not a Number)。本文介绍了这个问题,并提供了相应的解决方法,避免程序出现错误。
JavaScript 文本高亮方法
JavaScript 文本高亮方法
本文介绍两种 JavaScript 文本高亮的方法,一种使用正则表达式替换,另一种使用循环逐字替换。两种方法都实现了将指定文本在一段话中高亮显示。
JavaScript 埋点库
JavaScript 埋点库
本文介绍 JavaScript 埋点库的相关内容。
JS 正则表达式中的 /g 修饰符
JS 正则表达式中的 /g 修饰符
本文解释了 JavaScript 正则表达式中 /g 全局匹配修饰符的行为,以及它如何影响 `test()` 方法的多次调用。
可调整大小的分割面板
可调整大小的分割面板
本文介绍几种实现可调整大小分割面板的方法,包括使用 vue-draggable-resizable, split.js 和 vue-split-view 等库。
被选择文本的圆角样式
被选择文本的圆角样式
本文介绍如何使用 CSS 实现被选择文本的圆角样式,包含代码示例和详细解释,帮助你快速上手。
Vue Transition 弃用原因及优化
Vue Transition 弃用原因及优化
Vue 的 transition 在 v-if、v-show 或 display: none 的情况下会导致动画不触发,需要使用 setTimeout 进行优化。本文探讨了 Vue Transition 的弃用原因,并提供了代码示例和解决方案。
Element UI 指定字段校验
Element UI 指定字段校验
本文介绍如何使用 Element UI 对指定表单字段进行校验。代码示例演示了如何使用 `validateField` 方法校验邮箱字段,并根据校验结果进行相应的操作。
JS 生成随机数及 Element UI 表单校验
JS 生成随机数及 Element UI 表单校验
本文介绍了 JavaScript 中生成随机数的几种方法,包括使用 Math.random()、Symbol 和 BigInt,并提供了一个使用 Element UI 进行表单字段校验的示例。
父元素设置 min-height 后,子元素 height: 100% 无效的解决方法
父元素设置 min-height 后,子元素 height: 100% 无效的解决方法
本文探讨了父元素设置 `min-height` 后,子元素设置 `height: 100%` 无效的问题,并提供了六种有效的解决方法,包括使用 `position: relative/absolute`、Flex 布局、Grid 布局以及 `min-height: inherit` 等,并分析了每种方法的优缺点。
解决 Vue v-for 循环中数组顺序变化导致图片重新加载的问题
解决 Vue v-for 循环中数组顺序变化导致图片重新加载的问题
本文介绍如何解决 Vue.js 中使用 v-for 循环时,数组顺序发生变化导致页面重绘,从而引起图片重新加载的问题。通过为 v-for 循环添加:key 属性,绑定数组中对象的唯一标识符,可以有效避免此问题。
微信小程序 new Date() 方法异常问题及解决方法
微信小程序 new Date() 方法异常问题及解决方法
微信小程序中使用 new Date() 方法时,如果日期字符串格式为 'YYYY-MM-DD HH:mm',则会返回无效的日期对象。本文介绍了该问题的解决方法,并提供了代码示例。
100vw 是否包含滚动条宽度
100vw 是否包含滚动条宽度
本文探讨了 `100vw` 是否包含滚动条宽度,并提供了两种计算滚动条宽度的 JavaScript 代码示例。第一种方法直接返回滚动条宽度;第二种方法将宽度设置为 CSS 变量,方便后续使用。
浏览器检测库和移动端检测方法
浏览器检测库和移动端检测方法
本文介绍了几个常用的浏览器检测库和移动端检测库,并探讨了几种移动端检测方法,包括 `ua-parser-js`, `web.wurfl.io`, `current-device`, `device-detector-js` 等。
CSS 设置背景颜色透明
CSS 设置背景颜色透明
学习两种使用 CSS 设置背景颜色透明的方法:`background-color: rgba(0, 0, 0, 0.5);` 和 `opacity: 0.5;`,了解它们的区别和适用场景。
Element-UI Form 表单 disabled 属性继承原理
Element-UI Form 表单 disabled 属性继承原理
本文介绍了 Element-UI form 表单中 disabled 属性如何向下传递到子组件,以及如何使用 Vue 的 inject 和 provide 机制实现属性的传递。
空数组的 every 方法总是返回 true
空数组的 every 方法总是返回 true
JavaScript 中,`every()` 方法作用于空数组时,总是返回 `true`,即使回调函数返回 `false`。
Hammer.js 手势检测库
Hammer.js 手势检测库
Hammer.js 是一个 JavaScript 库,用于检测各种手势,例如轻扫、点击、捏合和旋转。本文介绍 Hammer.js 的使用。
JS 实现文本选择弹出提示
JS 实现文本选择弹出提示
本文介绍如何使用 JavaScript 实现文本选择弹出提示功能,包括使用 floating-ui 库的示例,以及其他一些相关的库和文章链接,例如 TextTip.js, share-this, Selection-js 等,并附带了几个 stackoverflow 问题的链接和相关教程链接。
监听动画结束 JavaScript
监听动画结束 JavaScript
使用 JavaScript 监听动画结束事件的示例代码及讲解。
Material Design 图标库搜索
Material Design 图标库搜索
Material Design 图标库搜索方法,包含谷歌官方字体库和 MUI 官方文档的搜索链接。
overflow: hidden 不生效,文字覆盖到 padding 上问题解决
overflow: hidden 不生效,文字覆盖到 padding 上问题解决
CSS overflow:hidden 属性失效,导致文字超出 padding 的问题及解决方案。文章分析了该问题出现的原因,并提供了一种通过设置 display: flex 和 overflow: hidden 解决该问题的有效方法。
流程图开源 JS 库推荐
流程图开源 JS 库推荐
本文推荐几个常用的开源流程图 JavaScript 库,包括 bpmn.io/toolkit/bpmn-js, anseki.github.io/leader-line, reactflow.dev, 和 vueflow.dev。
Tailwind CSS Animate 动画库
Tailwind CSS Animate 动画库
Tailwind CSS Animate 动画库,一个好用的动画库,支持在线调试。https://www.tailwindcss-animated.com/
Vue 按钮点击取消事件冒泡
Vue 按钮点击取消事件冒泡
如何在 Vue 中阻止按钮点击事件冒泡到父元素。本文提供了一种使用 `@click.stop` 指令的简单方法。
Vue i18n 使用及相关资源整理
Vue i18n 使用及相关资源整理
本文介绍 Vue i18n 的使用方法,包括语言切换、选择文本弹出提示、浏览器检测库、移动端检测库、手势检测库等相关资源和工具的整理。
Vue3 获取 DOM 元素
Vue3 获取 DOM 元素
Vue3 中使用 ref 获取 DOM 元素的方法,包括 Composition API 的使用以及一些常见的错误和解决方法。
常用图标库:React Icons 和 Oh Vue Icons
常用图标库:React Icons 和 Oh Vue Icons
本文介绍两个常用的图标库:react-icons (适用于 React) 和 oh-vue-icons (适用于 Vue),它们提供了丰富的图标资源,方便开发者在项目中使用。
数据大屏示例代码及资源链接
数据大屏示例代码及资源链接
本文收集整理了一些数据大屏示例代码链接,方便学习和参考。包含 ECharts 图表库的应用,以及其他数据可视化工具和平台,例如:基于 ECharts 的 Sankey 图示例,以及其他数据可视化资源。
低代码前端后端方案调研
低代码前端后端方案调研
本文调研了多种低代码前端和后端方案,包括基于拖拽的表单构建工具(如 Variant Form 3、MetaLowCode、amis 等)以及后端框架(如 qmgo)。
PM2 进程监控
PM2 进程监控
使用 PM2 监控 Node.js 进程的方法,包括命令行监控和云端监控平台的使用。
解决 VS Code 反复提示 any 类型的问题
解决 VS Code 反复提示 any 类型的问题
本文介绍如何解决 VS Code 反复提示 any 类型的问题,提供了一种简单有效的解决方案:禁用 TypeScript 的验证功能。
Vue Admin 框架和 Axios 请求封装调研
Vue Admin 框架和 Axios 请求封装调研
本文调研了多个流行的 Vue Admin 框架,并分析了其中 Axios 请求的封装方法,包括 `vue-vben-admin`, `gin-vue-admin`, `soybean-admin`, `RuoYi-Vue3`, `v3-admin-vite`, `vue3-antdv-admin` 和 `cool-admin-midway` 等。
跨窗口、Tab 页通信方法总结
跨窗口、Tab 页通信方法总结
本文总结了跨窗口、Tab 页通信的多种方法,并提供了多个 GitHub 项目和文章链接,以及 Stack Overflow 问题的参考。
高德地图 UI 组件踩坑记录
高德地图 UI 组件踩坑记录
本文记录了使用高德地图 UI 组件过程中遇到的问题,尤其强调了 `initAMapUI()` 方法的必要性,以及如何正确引入高德地图 JSAPI 和 UI 组件库。
JavaScript 令人迷惑的语法特性
JavaScript 令人迷惑的语法特性
本文介绍 JavaScript 中一些不常见且容易混淆的语法特性,例如使用 `+` 和 `-` 进行类型转换,`~` 运算符的用法,简化条件表达式,`&&` 和 `||` 操作符的特性,以及容易混淆的真假值情况和数组空判断方法。
UI 组件库调研、React State、React Hooks、画板和 React Query
UI 组件库调研、React State、React Hooks、画板和 React Query
本文调研了多个 UI 组件库,例如 shadcn;探讨了 React State 管理方案 Redux 和 zustand;介绍了 React Hooks 库 ahooks;推荐了一个非常酷的画板库 tldraw;最后分析了 React Query 库及其应用。
JS 获取浏览器指纹
JS 获取浏览器指纹
JavaScript 获取浏览器指纹的方法,包括使用 canvas 指纹和用户代理信息生成指纹,并使用 SHA-256 进行哈希处理。
JS SHA256 加密
JS SHA256 加密
JavaScript SHA256 加密方法,无需依赖外部库。
前端 JS 生成随机 CSS 样式
前端 JS 生成随机 CSS 样式
使用 JavaScript 生成随机的 CSS 样式,使页面元素在鼠标悬停时显示随机颜色。
前端 JS 生成好看的背景
前端 JS 生成好看的背景
使用 JavaScript 和 CSS 代码生成漂亮的动态背景效果。代码包含颜色数组,随机生成不同大小和位置的彩色方块,并添加悬停动画和阴影效果,最终实现一个好看的背景。
iOS Safari 下 CSS 100vh 高度问题及解决方案
iOS Safari 下 CSS 100vh 高度问题及解决方案
iOS Safari 浏览器存在一个已知问题:使用 CSS 中的 `100vh` 属性时,高度往往会比屏幕实际高度多出一小部分。本文讨论了这个问题的成因,并提供了解决方案,使用`@supports (-webkit-touch-callout: none) { height: -webkit-fill-available; }`来修正 iOS Safari 下 `100vh` 不准确的问题。
JS 解构赋值
JS 解构赋值
本文记录了 JavaScript 解构赋值中的一些细节,特别是关于默认值的使用,以及 `null`值和`undefined` 值在解构赋值中的不同行为。文章通过示例代码演示了如何正确使用解构赋值,以及如何避免一些常见的错误。
Vue Data Resetting Techniques
Vue Data Resetting Techniques
This article explores different methods for resetting data in Vue.js applications, including resetting the entire data object or specific properties using `this.$data` and `this.$options.data()`. Learn how to efficiently restore your component's data to its initial state.
认识 JavaScript document.all
认识 JavaScript document.all
本文讲解 JavaScript 中 `document.all` 的特性,并分析一道关于 `document.all` 和 `valueOf` 方法的代码题,解释其背后的原理,包括 Falsy 值和类型转换。
JS 深拷贝补充
JS 深拷贝补充
深入探讨 JavaScript 深拷贝的实现,涵盖基本数据类型、对象类型(包括 Map、Set、Date、RegExp 等)、函数、Symbol 作为 key、不可枚举属性以及循环引用等复杂场景的处理。
ThreeJS 实现汽车 3D 展示
ThreeJS 实现汽车 3D 展示
使用 ThreeJS 加载和渲染 glTF 格式的汽车 3D 模型,实现汽车颜色修改、模型旋转、加载进度显示、环境贴图和灯光设置等功能,并附带完整代码示例和资源链接。
JS 按位异或运算详解
JS 按位异或运算详解
本文讲解 JavaScript 中的按位异或运算符 (^),并解释其运算规则和优先级,澄清一些常见的误解,例如`2^2 + 2^1`的计算结果。
CSS 碰撞变色小球
CSS 碰撞变色小球
使用 CSS 实现碰撞变色的小球效果。文章包含 HTML 和 CSS 代码示例,演示如何通过动画和颜色计算实现小球碰撞时颜色的变化。
JavaScript 毫秒级定时器
JavaScript 毫秒级定时器
使用 JavaScript 和 React 构建一个毫秒级精度的定时器,包含 requestAnimationFrame, performance.now(), useCallback, useRef, useMemo 等知识点的讲解和应用。
JS Symbol.toPrimitive 详解
JS Symbol.toPrimitive 详解
本文讲解了 JavaScript 中 Symbol.toPrimitive 的用法,并通过一个具体的例子演示了如何使用 Symbol.toPrimitive 实现一个有趣的函数式编程技巧。
Sequelize 打印 SQL 语句及参数详解
Sequelize 打印 SQL 语句及参数详解
本文介绍如何在 Sequelize 中打印完整的 SQL 语句以及参数,包括解决参数显示为占位符的问题,并深入分析 Sequelize 的日志机制和源码。
ESLint 解决 TypeScript 路径别名错误:Cannot find module
ESLint 解决 TypeScript 路径别名错误:Cannot find module
Webpack 配置了路径别名 @ ,但 ESLint 报错:`Cannot find module '@/redux/hooks'`。解决方法是在 tsconfig.json 中配置 paths:`{\"paths\": {\"@/*\": [\"src/*\"]}}`,从而解决 TypeScript 路径别名问题。
Webpack Alias 别名配置
Webpack Alias 别名配置
使用 Webpack alias 解决项目中冗长的 `../../../` 路径问题,提高代码可读性和维护性。配置方法和使用示例。
CSS flex 布局问题:子元素宽度和 `flex: 1` 解释
CSS flex 布局问题:子元素宽度和 `flex: 1` 解释
CSS flex 布局中,`align-items` 的默认值 `stretch` 会导致子元素占据父元素全部宽度,即使设置了 `display: inline-flex`。解决方法是将子元素的 `align-items` 属性设置为 `flex-start`。此外,文章还解释了 `flex: 1` 的含义及适用场景,`flex: 1` 是 `flex: 1 1 0%` 的简写。
JS Echarts 地图颜色配置
JS Echarts 地图颜色配置
使用 JS Echarts 库,根据数据大小为中国地图不同省份显示不同的颜色。
Sequelize 中 createdAt/updatedAt 的重命名
Sequelize 中 createdAt/updatedAt 的重命名
本文介绍如何在 Sequelize 中修改 `createdAt` 和 `updatedAt` 属性的名称,以及如何只启用其中一个属性。通过示例代码演示如何将 `updatedAt` 重命名为 `updateTimestamp`,并禁用 `createdAt` 属性。
JavaScript 判断元素是否滚动到底部
JavaScript 判断元素是否滚动到底部
本文介绍了如何使用 JavaScript 判断一个元素是否滚动到了底部,并提供了相应的代码示例和 Vue.js 实现。
CSS 鼠标点击穿透问题解决
CSS 鼠标点击穿透问题解决
本文介绍如何解决 CSS 鼠标点击事件穿透的问题。通过设置 `pointer-events` 属性来控制元素是否响应鼠标事件,`pointer-events: none;`可以阻止元素响应鼠标事件,而`pointer-events: auto;`则允许其响应鼠标事件。文章还讲解了如何避免父元素阻止子元素接收鼠标事件。
CSS 固定宽高比
CSS 固定宽高比
CSS 实现固定宽高比的多种方法,包括使用 `aspect-ratio` 属性和通过 padding-bottom 技巧实现。
CSS 相对居中
CSS 相对居中
使用 CSS 实现元素相对居中的方法。
JS 的一些十六进制操作
JS 的一些十六进制操作
JavaScript 中十六进制与十进制、二进制之间的转换,以及十六进制颜色代码与 RGB 之间的转换,包含多种实现方法和示例代码。
微信小程序 JS 添加自定义位置水印
微信小程序 JS 添加自定义位置水印
微信小程序实现图片加水印功能,支持自定义水印文字位置,并解决高清屏模糊和 Canvas 大小限制问题。文章详细介绍了获取 canvas 上下文,压缩图片,计算文字长度,以及添加水印文字的步骤和代码。
JS Axios 获取 Blob 类型响应中的 JSON 数据
JS Axios 获取 Blob 类型响应中的 JSON 数据
使用 Axios 获取 Blob 类型响应数据并解析为 JSON 对象的方法,包括处理错误和非 JSON 数据的情况。文章提供了两种示例代码,并解释了如何判断响应数据是否为 JSON Blob,以及如何将其转换为 JSON 对象。
Mac 系统下快速删除 node_modules 文件夹
Mac 系统下快速删除 node_modules 文件夹
Mac 系统下,node_modules 文件夹通常很大,删除很慢。本文介绍使用`npx npkill`或 `find` 命令快速删除 node_modules 文件夹的方法。
JS 获取文本宽度
JS 获取文本宽度
两种使用 JavaScript 获取文本宽度的方法:一种使用 canvas,另一种使用 div 元素。文章提供了两种方法的代码实现并进行了比较。
JS 图片处理研究笔记
JS 图片处理研究笔记
本文记录了 JavaScript 图片处理方面的研究,包括获取图片真实大小、提取和设置 EXIF 数据、图片裁剪、微信小程序图片处理(base64 转换,本地文件操作,canvas 操作)以及一些常用的工具库和方法。
使用 Axios 获取 EventStream
使用 Axios 获取 EventStream
本文介绍如何使用 Axios 获取 EventStream,包括代码示例和错误处理。
NodeJS 证书验证失败解决方案
NodeJS 证书验证失败解决方案
NodeJS 发起请求时报错“unable to verify the first certificate”的解决方法,以及代码示例`process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';`的使用和安全风险提示。
JS 获取选中文本的所有 DOM 块元素
JS 获取选中文本的所有 DOM 块元素
JavaScript 代码实现获取网页选中文本的所有 DOM 块元素。提供两种方法,并分析其优缺点。
JS 监听选中文本事件
JS 监听选中文本事件
本文介绍如何使用 JavaScript 监听网页选中文本事件,包括 `selectionchange`、`mouseup`、`touchstart`和`touchend` 事件的用法和优缺点,并提供了相应的代码示例。
JS 多元素文本选择
JS 多元素文本选择
JavaScript 实现跨多个元素选中文本的方法。本文提供一个函数,通过指定起始和结束元素来选择文本。
CSS 字体呈现优化
CSS 字体呈现优化
字体加载缓慢导致页面渲染缓慢,影响用户体验。本文介绍如何使用 `font-display` 等方法优化 CSS 字体呈现,从而提升页面加载速度。
CSS `display: inline` 研究:多个 div 在一个段落内显示
CSS `display: inline` 研究:多个 div 在一个段落内显示
CSS `display: inline` 的使用研究:如何将多个 div 在一个段落内显示,以及解决`display: inline`下 `margin`失效的问题,并使用`line-height` 调整间距。
CSS text-indent 属性 (段前缩进)
CSS text-indent 属性 (段前缩进)
CSS `text-indent` 属性用于设置文本的段落缩进。本文介绍如何使用 `text-indent` 属性实现段落前缩进,并提供示例代码。
JS 自动选中 div 内文本
JS 自动选中 div 内文本
JavaScript 代码实现自动选中 div 元素内的文本。提供两种方法,一种是简单的点击事件触发,另一种是封装成函数,方便复用。
React 中使用定时器和性能优化
React 中使用定时器和性能优化
本文探讨在 React 中使用定时器的最佳实践,包括如何利用 `requestAnimationFrame`、`performance.now()` 等 API 提升性能,并结合 `useMemo`, `useRef`, `useCallback`, `useEffect` 等 Hook 进行优化,避免常见的性能问题。文章分析了示例代码,并对 `requestAnimationFrame` 和 `setTimeout` 的区别进行了讲解。
JS 解析 xlsx 文件
JS 解析 xlsx 文件
本文介绍了如何使用 JavaScript 解析 xlsx 文件。xlsx 文件本质上是一个压缩包,包含多个 XML 文件,这些文件存储了 Excel 数据。文章讲解了如何使用 JSZip 和 xml2js 包解析 xlsx 文件,并提供了代码示例。
Npm 换源 - 使用 nrm
Npm 换源 - 使用 nrm
学习如何使用 nrm 管理 npm 源,包括安装、查看、切换、添加、删除和测试 npm 源。
Vue Cli 打包报错:Uncaught ReferenceError: exports is not defined
Vue Cli 打包报错:Uncaught ReferenceError: exports is not defined
Vue Cli 打包报错 Uncaught ReferenceError: exports is not defined,解决方法:导入的包使用了 CommonJS 规范,而 Vue Cli 打包使用的是 ESM 规范,导致冲突。文章分析了问题原因,并提供了解决方案。
JavaScript 添加 CSS 属性
JavaScript 添加 CSS 属性
几种在 JavaScript 中添加 CSS 属性的方法,包括使用 className, setAttribute 和 classList。
JavaScript 图片预加载
JavaScript 图片预加载
本文介绍了两种 JavaScript 图片预加载的方法:一种是简单的 Image 对象方法,另一种是使用 Promise 进行封装,以便更好地处理异步操作,提高加载效率。
Js 的 Promise 学习笔记
Js 的 Promise 学习笔记
JavaScript Promise 学习笔记,包含 Promise 的简单实现、符合 Promise/A+ 规范的 Promise 实现,以及如何判断一个对象是否是 Promise 等内容。
Vue 中在新标签页打开页面
Vue 中在新标签页打开页面
如何在 Vue.js 应用中在新标签页打开一个页面,包含两种方法示例。
浏览器指纹库 - fingerprinting
浏览器指纹库 - fingerprinting
一个收集整理浏览器指纹库的文档,包含了高准确性和稳定性的库,以及获取 IP 和机器人检测相关的资源。
JS 错误捕捉
JS 错误捕捉
记录 JavaScript 前端错误捕捉的方法,包括一般事件异常捕捉、资源加载异常捕捉、全局异常捕捉和 Promise 异常捕捉。
JS XHR 拦截
JS XHR 拦截
本文介绍如何使用 JavaScript 拦截 XHR 请求,并提供两种不同的实现方法,一种简易方法和一种更完善的方法,包含详细代码示例和参考链接。
正则表达式匹配字符串开头、中间包含特定内容和结尾的字符串
正则表达式匹配字符串开头、中间包含特定内容和结尾的字符串
使用正则表达式匹配以特定字符串开头,中间包含特定内容(例如'worker_threads'),并以特定字符串结尾的 JavaScript 代码片段。文章提供了解决方案并分析了不同正则表达式的优劣。
JavaScript structuredClone 深拷贝实现详解
JavaScript structuredClone 深拷贝实现详解
本文详细介绍了 JavaScript 中 `structuredClone` API 实现深拷贝的方法,并对比了使用 `MessageChannel` 实现异步深拷贝的技巧,以及相关的性能和应用场景。文章还提供了代码示例和参考链接,方便读者理解和实践。
JS 解决 'Failed to execute 'put' on 'IDBObjectStore'...' 问题
JS 解决 'Failed to execute 'put' on 'IDBObjectStore'...' 问题
本文介绍如何解决 JavaScript 中 IndexedDB 的 'Failed to execute 'put' on 'IDBObjectStore': An object could not be cloned' 错误。该错误通常是因为存储对象包含不可序列化的数据类型(例如 Promise 对象)引起的。文章提供了几种解决方案,包括使用 `realistic-structured-clone` 库进行深拷贝,以及其他替代方案的比较。
JS MessageChannel 实现深拷贝
JS MessageChannel 实现深拷贝
使用 JavaScript 的 MessageChannel API 实现对象的深拷贝,并通过 Promise 处理异步操作,确保拷贝结果的正确性。
优秀的浏览器 IndexedDB 库 - localforage
优秀的浏览器 IndexedDB 库 - localforage
localforage 是一个优秀的浏览器本地存储库,它简化了 IndexedDB 的使用,提供统一的 API,兼容多种浏览器,方便开发者在不同浏览器环境中进行本地数据存储操作。
优秀的 JavaScript 前端录制回放库 - rrweb
优秀的 JavaScript 前端录制回放库 - rrweb
rrweb 是一个强大的 JavaScript 库,用于录制和回放 Web 界面中的用户操作。它利用现代浏览器 API,提供便捷的录制和重播功能,方便开发者进行测试、调试和分析。
Rollup 打包工具笔记
Rollup 打包工具笔记
Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,以便在浏览器中使用或在 Node.js 中使用。本文档包含 Rollup 的使用方法、示例以及与 Webpack 的对比。
indexOf 引发的一系列问题
indexOf 引发的一系列问题
本文探讨了 JavaScript 中 indexOf 方法引发的一系列问题,包括 !!~ 的用法、抽象渗漏的概念,以及 indexOf 与 includes 的区别。文章还包含了一些关于 NaN 和 void 0 查找的示例和解答。
Vue3 父子组件传值及方法调用
Vue3 父子组件传值及方法调用
本文介绍了 Vue3 中父子组件之间如何进行数据传递和方法调用,包括父组件向子组件传递数据,以及子组件调用父组件方法,并提供了具体的代码示例。
Vue3 watch props 监听属性变化
Vue3 watch props 监听属性变化
本文介绍了如何在 Vue3 中使用 watch 来监听 props 属性的变化,并提供了相应的代码示例。
前端 CORS 跨域问题详解
前端 CORS 跨域问题详解
本文详细分析了前端 CORS 跨域问题,特别是涉及 cookie 的场景,并提供了多种解决方案,包括在服务端设置 Access-Control-Allow-Origin 和 Access-Control-Allow-Credentials,以及在客户端设置 withCredentials 等。
JS 点击事件监听失效问题及解决
JS 点击事件监听失效问题及解决
本文介绍了在使用 JavaScript 的 `addEventListener` 监听点击事件时,事件监听失效的问题,并提供了使用事件冒泡解决该问题的方案,同时也讨论了 `mousedown`、`mouseup`、`click` 事件的执行顺序以及事件委托的技巧。
Node.js 报错:PayloadTooLargeError: request entity too large
Node.js 报错:PayloadTooLargeError: request entity too large
Node.js 接口报错 `PayloadTooLargeError: request entity too large` 的解决方案,包括使用 express.json 和 body-parser 设置上传文件大小限制的方法。
JavaScript 数组反转性能比较
JavaScript 数组反转性能比较
对比 JavaScript 中三种数组反转方法的性能:常规 for 循环、交换法和内置 reverse 方法,并分析其效率差异。测试结果表明内置 reverse 方法性能最佳。
从 PDF 中提取图片和文字
从 PDF 中提取图片和文字
使用 JavaScript 从 PDF 文件中提取文本和图像的多种方法,包括使用 pdf.js 库和 SVG 转换。
解决 Quill 富文本编辑器粘贴后跳转到顶部的问题
解决 Quill 富文本编辑器粘贴后跳转到顶部的问题
Quill 富文本编辑器粘贴内容后页面跳转到顶部的常见问题及解决方法。通过设置 `scrollingContainer` 参数和 CSS 样式,有效防止粘贴后页面跳转。
JS 判断字符串是否为 HTML
JS 判断字符串是否为 HTML
JavaScript 函数判断字符串是否包含 HTML 标签。
JS 获取时间戳
JS 获取时间戳
JavaScript 获取时间戳的多种方法,包括精确到秒和精确到毫秒的方法。
JS Quill 富文本编辑器添加图片
JS Quill 富文本编辑器添加图片
本文介绍如何使用 JS Quill 富文本编辑器添加图片,包括使用 `quill.insertEmbed()` 方法以及利用编辑器自带的工具栏或自定义按钮实现图片上传。
JS 可拖拽调整窗口大小的库
JS 可拖拽调整窗口大小的库
本文介绍几个 JavaScript 库,用于通过拖拽实现窗口大小的调整,并推荐 `split.js`和`splitpanes` 两个优秀的库。
Vuex 到 Pinia 的迁移
Vuex 到 Pinia 的迁移
记录将 Vue3 项目中 Vuex 迁移到 Pinia 的过程,分享迁移经验,并提供相关参考文章链接。
Sequelize 关联查询详解
Sequelize 关联查询详解
本文详解 Sequelize 框架下如何进行联表查询,包含一对多关联关系的查询示例及代码优化建议,并提供多个参考链接以帮助读者深入理解 Sequelize 关联查询的原理和用法。
Sequelize 分页与计数
Sequelize 分页与计数
使用 Sequelize 进行数据库分页查询并获取总记录数的教程,包含完整代码示例和优化建议。
Vite 打包配置:创建可直接双击运行的本地页面
Vite 打包配置:创建可直接双击运行的本地页面
本文解决 Vite 打包后,生成可直接双击运行的本地页面的问题,包括处理 `type: 'module'` 跨域问题、`@vitejs/plugin-legacy` 插件失效问题以及 `vite-plugin-singlefile` 插件的应用和配置。同时,探讨了使用 `@rollup/plugin-html` 插件以及多入口方案。
Vue 约定式路由(文件路由)
Vue 约定式路由(文件路由)
本文介绍 Vue 约定式路由(文件路由)的配置方法,包括使用 vite-plugin-pages 插件,以及页面元数据配置、页面缓存优化等技巧。文中还提供了 Vue2 和 Vue3 下页面缓存的优化方案。
JS 的 contenteditable 属性
JS 的 contenteditable 属性
学习笔记:记录 JS 中 contenteditable 属性的使用,以及使用 MutationObserver 监听 contenteditable 元素内容变化的方法。
JS 监听 DOM 属性变化
JS 监听 DOM 属性变化
JavaScript 监听 DOM 属性变化的方法,包括使用 MutationObserver API 进行属性变化监听,并提供代码示例。
JS 全局监听 globalData 属性变化
JS 全局监听 globalData 属性变化
监听小程序 globalData 中某个属性的变化,并在变化时执行特定函数。文章提供了解决方案,并分析了不同方法的优缺点,包括避免 Object.defineProperty 中 set 方法死循环的问题。
ElementUI 禁用浏览器自动填充用户名密码
ElementUI 禁用浏览器自动填充用户名密码
ElementUI 框架下,如何禁止浏览器自动填充用户名和密码输入框。提供多种方法,包括使用 `autocomplete='off'` 属性以及其他技巧。
密码相关正则表达式大全
密码相关正则表达式大全
本文整理了多种密码正则表达式,涵盖了不同密码强度要求,例如:至少 8 个字符,包含大小写字母、数字和特殊字符等。提供了多种正则表达式实现方案及详细解释,方便开发者根据自身需求选择合适的正则表达式。
Webpack 页面更新检查插件
Webpack 页面更新检查插件
本文介绍一个 Webpack 插件,用于检查页面是否更新,解决前端部署后缓存问题。通过生成 version.json 文件记录版本和构建时间,前端页面加载时检查版本,实现自动刷新。
Vue3 监听 Prop 变化
Vue3 监听 Prop 变化
本文介绍如何在 Vue3 中使用 `watch` 函数监听 Prop 的变化,并提供代码示例。
Element 级联菜单城市选择组件优化
Element 级联菜单城市选择组件优化
本文介绍基于 Element UI 的级联菜单城市选择组件的优化方案,解决原项目中频繁点击关闭导致卡死的问题,并提供改进后的代码和使用方法。
JS Node Sass 升级及常见错误解决方法
JS Node Sass 升级及常见错误解决方法
本文记录了升级 JS Node Sass 过程中遇到的问题及解决方案,包括 `SassError: expected selector` 错误(使用 `::v-deep` 替换 `/deep/`)、`TypeError: token.type.endsWith is not a function` 错误(降级 `babel-eslint` 至 `^8.2.2`),并提供了解决方案。
在 CentOS 中安装 Puppeteer 依赖项
在 CentOS 中安装 Puppeteer 依赖项
本文介绍如何在 CentOS 系统上安装 Puppeteer 所需的依赖项。一个简单的方法是使用 yum 命令安装 chromium,它会自动安装 Puppeteer 运行所需的依赖。
JS 条码识别 API 使用教程
JS 条码识别 API 使用教程
本教程介绍如何使用 JavaScript 的 BarcodeDetector API 进行条码识别,包括 API 支持性检查、初始化、支持格式查看以及条码识别流程。
Element 在线运行报错解决
Element 在线运行报错解决
Element 在线运行报错的解决方法,主要介绍如何找到合适的 Vue2 版本来解决问题,并提供参考文章链接。
使用 Docker 构建前端项目
使用 Docker 构建前端项目
公司流水线服务器无法升级 nodejs 和安装 nvm,故使用 Docker 构建前端项目。本文记录了使用 Docker 构建前端项目的流程,包括 Dockerfile 的编写、常见报错及解决方法,以及一些 Docker 常用命令。涵盖了 vite 构建工具相关的错误解决,如 esbuild 模块重建,依赖树冲突解决等。
Element UI el-table 表格表头错位问题及解决方法
Element UI el-table 表格表头错位问题及解决方法
Element UI 的 el-table 表格在数据刷新后,表头和表格数据出现错位的问题,以及几种常见的解决方法,包括 CSS 方法、JS 方法以及控制滚动条位置的方法。文章还讨论了在 Safari 浏览器下出现的表头和表格错位问题,并提供了相应的 CSS 解决方法。
高德地图点聚合:添加和删除标记点
高德地图点聚合:添加和删除标记点
本文介绍如何使用高德地图的点聚合功能添加和删除标记点,包含代码示例和使用方法。
在 Vite 项目中加载外部 SCSS 文件
在 Vite 项目中加载外部 SCSS 文件
如何在 Vite 项目中配置加载外部 SCSS 文件,包括 `_variables.scss`、`_mixins.scss` 等文件的导入。
JavaScript 将 input File 对象转换为 Blob 对象
JavaScript 将 input File 对象转换为 Blob 对象
本文介绍如何使用 JavaScript 将 input File 对象转换为 Blob 对象,包括使用 FileReader 和 URL.createObjectURL 两种方法,并附带示例代码和详细解释。
JS 通过 input 加载 PDF
JS 通过 input 加载 PDF
记录 JavaScript 如何通过 input 元素加载 PDF 文件,并提供两种方法的代码示例及参考文章链接。
Sequelize 不区分大小写查找数据
Sequelize 不区分大小写查找数据
使用 Sequelize 进行不区分大小写的数据库查找操作的方法。
Electron 中编译安装 Sqlite3 的方法与问题排查
Electron 中编译安装 Sqlite3 的方法与问题排查
本文介绍在 Electron 应用中编译安装 Sqlite3 的多种方法,包括使用官方方法、手动编译以及针对 Node.js 版本和 Homebrew 的问题排查和解决方案。文章涵盖了常见错误及解决方法,并提供了详细的命令行示例。
JS URL 正则表达式判断
JS URL 正则表达式判断
本文提供两种 JavaScript 函数,用于判断一个字符串是否为有效的 URL 地址。第一种函数利用内置的 URL 对象进行判断,第二种函数使用正则表达式进行匹配。
NestJS 调试方法
NestJS 调试方法
本文介绍了使用 Visual Studio Code 调试 NestJS 应用的方法,包括配置 launch.json 文件。
JS 反转义实现与研究
JS 反转义实现与研究
后端对提交的数据进行了一些转义操作,例如 `<p><b>123&456</b></p>` 会被转义成 `<p><b>123&456</b></p>`,前端请求数据时需要进行反转义。本文研究了几种 JavaScript 反转义实现方法,包括使用 DOM 方法、正则表达式方法,并对它们的性能进行了比较。
JavaScript 获取视频和图片加载状态
JavaScript 获取视频和图片加载状态
使用 JavaScript 获取页面中所有图片和视频的加载状态,并在加载完成后执行指定操作。文章提供了详细的代码示例和相关的参考链接。
JS 视频播放事件拦截
JS 视频播放事件拦截
JavaScript 拦截视频播放事件,在视频播放时暂停并重置播放时间。
NestJS 文件上传:单文件、多文件及额外参数
NestJS 文件上传:单文件、多文件及额外参数
NestJS 如何接收单个文件和多个文件的上传,以及如何在上传文件时添加额外参数的教程和示例代码。
JS 获取树状数据下的所有节点个数,及符合条件的节点个数
JS 获取树状数据下的所有节点个数,及符合条件的节点个数
JavaScript 获取树状数据下所有节点的个数,以及满足特定条件的节点个数。提供代码示例和详细解释,帮助你高效处理树形结构数据。
使用 JavaScript 获取 PDF 页码
使用 JavaScript 获取 PDF 页码
本文介绍如何使用 JavaScript 获取 PDF 文件的页码数量。文中提供了一个使用 `pdfjs-dist` 库的代码示例,并讲解了如何加载 PDF 文件并获取其页数。
JavaScript OpenCV 边缘检测
JavaScript OpenCV 边缘检测
使用 JavaScript 和 OpenCV 库进行图像边缘检测,包含 Canny 算子示例和使用方法。
JavaScript OpenCV Hough Transform 直线检测
JavaScript OpenCV Hough Transform 直线检测
使用 JavaScript OpenCV 库进行霍夫变换直线检测,包括代码示例和参数解释。文章介绍如何使用 HoughLinesP 函数检测图像中的直线,并提供代码示例和参考文章链接。
JavaScript OpenCV inRange 颜色过滤
JavaScript OpenCV inRange 颜色过滤
使用 JavaScript OpenCV 库进行颜色过滤的 inRange 函数示例,包含代码示例和参考链接。
JS OpenCV 入门教程
JS OpenCV 入门教程
一篇关于使用 JavaScript 和 OpenCV 库的入门教程,涵盖了库的下载、使用方法以及一些代码示例。教程中介绍了如何将图片加载到 canvas 中,如何添加上传按钮,以及如何使用 utils.js 文件加载 opencv.js 文件。
解决 TypeScript 项目中 ESLint 关于 AMap 的报错问题
解决 TypeScript 项目中 ESLint 关于 AMap 的报错问题
在 TypeScript 项目中使用高德地图 (AMap) 时,ESLint 报错问题的解决方法:通过在 `d.ts`文件中声明`AMap`接口,并在`.eslintrc.js`中配置全局变量`AMap` 来解决。
JS 监听 DOM 高度变化
JS 监听 DOM 高度变化
监听 DOM 高度变化,解决图片加载完毕后获取高度的问题。文章介绍了多种方法,包括 `DOMNodeInserted`事件监听、`ResizeObserver` 和`MutationObserver`,并对每种方法的优缺点进行了分析。
JS 自定义 Quill 插入标签
JS 自定义 Quill 插入标签
使用 JavaScript 自定义 Quill 富文本编辑器,实现插入和删除话题标签或@标签的功能,确保标签能够作为一个整体被删除。
JavaScript 如何处理大量数据
JavaScript 如何处理大量数据
本文探讨 JavaScript 如何处理大量数据,重点介绍 Node.js 如何利用单线程和异步 I/O 实现高并发,以及如何避免阻塞操作以提升性能。文章还涉及 Libuv 多线程线程池以及 pm2 进程管理器等相关技术。
JS Vue React 路由处理机制
JS Vue React 路由处理机制
本文探讨了 JavaScript、Vue 和 React 如何处理路由,并解释了 Nginx 配置中 `try_files` 指令的作用,以及如何通过它实现单页应用的路由机制。
解决 TypeScript 错误:Window & typeof globalThis 上不存在属性 WebViewJavascriptBridge
解决 TypeScript 错误:Window & typeof globalThis 上不存在属性 WebViewJavascriptBridge
在 TypeScript 文件内使用 window.WebViewJavascriptBridge 属性报错,提示 'Window & typeof globalThis' 上不存在属性 'WebViewJavascriptBridge' 的解决方法,包括在 ts 文件内声明 window 的示例。
Vite 不压缩代码打包
Vite 不压缩代码打包
方便调试打包后的代码,查找原因。本文介绍如何配置 Vite 使其在打包时不压缩代码。
Vue3 响应式数据重新赋值问题详解
Vue3 响应式数据重新赋值问题详解
本文探讨 Vue3 中使用 reactive 进行响应式数据重新赋值的几种方法,包括 Object.assign, ref, reactive 以及 toRefs 的使用,并分析各自的优缺点。
Vue 子组件如何获取所有父组件传递的值
Vue 子组件如何获取所有父组件传递的值
本文介绍如何在 Vue 子组件中获取所有父组件传递的值,并提供代码示例和最佳实践。
JS Axios 文件上传
JS Axios 文件上传
使用 Axios 上传文件的几种方法,包含代码示例和说明。
JS 点击按钮上传文件
JS 点击按钮上传文件
使用 JavaScript 点击按钮实现文件上传功能,包含 HTML 结构和 TypeScript 代码示例。
JS 创建 video 元素
JS 创建 video 元素
使用 JavaScript 创建 video 元素,并设置其属性,例如 src, poster, autoplay, controls, muted, height, width 等,然后将 video 元素添加到指定的容器中。
JS 自定义 Quill 富文本编辑器
JS 自定义 Quill 富文本编辑器
本文介绍如何使用 JavaScript 自定义 Quill 富文本编辑器,包括创建自定义组件、监听删除事件以及相关代码示例和参考文章。
JS input 文件上传格式限制
JS input 文件上传格式限制
本文介绍如何使用 JavaScript 限制 input 文件上传的格式,包括图片和视频格式的限制。
JS input 上传文件只能上传一次问题解决
JS input 上传文件只能上传一次问题解决
解决 JS input 上传文件只能点击一次,再次点击无效的 bug。文章提供代码示例及解决方案,帮助开发者解决文件上传问题。
JS ref 获取 DOM 元素
JS ref 获取 DOM 元素
本文介绍了在 Vue2 和 Vue3 中使用 ref 获取 DOM 元素的方法。
好用的 Windicss
好用的 Windicss
不想在项目中写 css 了,就试了一下 windicss,非常好使,比如 `padding: 10px;` `classname` 可以写成 `p-10px`,还可以自定义配置。
使用 JavaScript 裁剪 Canvas 画布
使用 JavaScript 裁剪 Canvas 画布
本文介绍如何使用 JavaScript 裁剪 Canvas 画布上的图像,包括两种方法:使用 drawImage() 方法和自定义裁剪函数 cutArea()。文章包含代码示例和练习链接,并提供参考文章链接。
JavaScript 保存文件的几种方法
JavaScript 保存文件的几种方法
几种使用 JavaScript 保存文件的方法,包括使用 FileSaver.js 和 downloadjs 库。
JS 将 Canvas 转换为 Blob 或 Image
JS 将 Canvas 转换为 Blob 或 Image
JavaScript 代码示例,演示如何将 Canvas 转换为 Blob 或 Image 对象,包含多种方法及解释。
JS PDF 转图片
JS PDF 转图片
两种 JavaScript 代码实现 PDF 转图片功能,包含使用 PDFJS 库的示例,以及基于 base64 数据的渲染方法。
JS 调用打印机的库,非常好用
JS 调用打印机的库,非常好用
本文介绍一个非常好用的 JavaScript 打印库 Print.js,并提供多种使用方法,包括打印多张图片(支持 base64 编码)、打印页面元素以及弹窗打印等示例。
JS Quilljs 与其他富文本编辑器的比较
JS Quilljs 与其他富文本编辑器的比较
本文比较了 JavaScript 富文本编辑器 Quilljs 与其他编辑器(例如 wangEditor 和 Draft.js)的优缺点,旨在帮助开发者选择合适的工具。
在 React/NextJs 中使用 PDF.js 预览和转换 PDF 文件为图片
在 React/NextJs 中使用 PDF.js 预览和转换 PDF 文件为图片
本文介绍如何在 React 和 Next.js 项目中使用 pdf.js 库来预览 PDF 文件,并将其转换为图片。文章包含了详细的代码示例和配置步骤,涵盖了客户端渲染和服务端渲染两种场景。
ESLint 忽略@ts-ignore 错误提示
ESLint 忽略@ts-ignore 错误提示
ESLint 忽略@ts-ignore 错误提示
JavaScript 数字格式化库 numeral.js
JavaScript 数字格式化库 numeral.js
学习如何使用 JavaScript 的 numeral.js 库格式化数字,包括安装、使用方法和示例。
Vite 动态引入图片
Vite 动态引入图片
本文介绍了使用 Vite 动态引入图片的几种方法,包括使用 `import.meta.globEager`、`import()` 和 `new URL()` 等方式,并对各种方法进行了比较和优化。
CSS 解决 border 影响元素宽高的问题 (box-sizing 属性)
CSS 解决 border 影响元素宽高的问题 (box-sizing 属性)
在 CSS 中动态设置 `border`属性时,`border` 会影响元素的宽高。本文介绍两种解决方法:使用`box-sizing: border-box;`属性,或者使用 `outline` 代替`border`。
技术栈更新:Pinia、Vitest 和 Cypress
技术栈更新:Pinia、Vitest 和 Cypress
记录技术栈更新,包含状态管理库 Pinia、单元测试框架 Vitest 和端到端测试框架 Cypress 的使用。
使用视频作为网页背景
使用视频作为网页背景
如何使用 CSS 和 HTML 创建以视频为背景的网页。文章包含代码示例及参考链接,讲解如何实现全屏视频背景。
Vue3 路由变化监听与传参
Vue3 路由变化监听与传参
本文介绍 Vue3 中如何监听路由变化以及如何正确地进行参数传递,包括解决 params 无效和监听不到变化等常见问题,并附带相关链接和参考文章。
Vue3 中使用 keep-alive 组件报错:TypeError: parentComponent.ctx.deactivate is not a function 的解决方法
Vue3 中使用 keep-alive 组件报错:TypeError: parentComponent.ctx.deactivate is not a function 的解决方法
Vue3 使用 keep-alive 组件时,切换页面报错 TypeError: parentComponent.ctx.deactivate is not a function。文章提供了解决方案:在 keep-alive 和 component 上设置 key 属性进行排序,并附带相关参考文章链接。
JS 将 JSON 格式文件导出为 XLSX 格式文件
JS 将 JSON 格式文件导出为 XLSX 格式文件
JavaScript 将 JSON 数据导出为 XLSX 格式文件的几种实现方法,包含简单实现和较为完善的实现,并附带相关资源链接。
Vant 样式覆盖问题及解决方法
Vant 样式覆盖问题及解决方法
解决 Vant 组件按需导入导致自定义样式覆盖无效的问题。文章详细介绍了通过全局导入 Vant 样式来解决此问题的方法,并分析了按需导入与全局导入在样式优先级上的差异。
Vue 移动端适配方案
Vue 移动端适配方案
本文介绍两种 Vue 移动端适配方案:rem 方案和 viewport 方案,并讲解了如何结合使用以及解决 dpr 引发的字体大小问题。包括 `amfe-flexible`、`postcss-pxtorem`和`postcss-px-to-viewport` 的使用方法和配置。
JS 移除 DOM 所有事件监听器
JS 移除 DOM 所有事件监听器
JavaScript 移除 DOM 元素及其子元素所有事件监听器的几种方法,包括克隆节点替换和遍历移除等方式的比较和优缺点。
JavaScript 基准测试 Benchmark
JavaScript 基准测试 Benchmark
使用 Benchmark.js 进行 JavaScript 基准测试的示例和说明。
JS 更改树状数据的几种方式
JS 更改树状数据的几种方式
本文介绍几种在 JavaScript 中更改树状数据的方法,包括递归、JSON.stringify 和 Proxy,并通过基准测试比较了它们的性能。主要针对如何修改树状结构中 `children` 属性为 `erzi`,或通过 `erzi` 访问 `children` 属性。
JS 生成测试数据
JS 生成测试数据
使用 Mock.js 和 Faker.js 生成 JavaScript 测试数据,Faker.js 是目前维护较好的库。
MDN 网站改版记录
MDN 网站改版记录
记录 MDN 网站今日改版。
使用 requestAnimationFrame 模拟 setInterval
使用 requestAnimationFrame 模拟 setInterval
使用 JavaScript 中的 requestAnimationFrame 函数模拟 setInterval 函数的功能,并比较两种方法的差异和优缺点。
JS 立即执行函数与 this 的研究
JS 立即执行函数与 this 的研究
本文研究 JavaScript 中立即执行函数表达式 (IIFE) 与 `this` 指向的问题,并分析两种不同写法下 `this` 的值。
NextJS 中 'window is not defined' 错误的解决方法
NextJS 中 'window is not defined' 错误的解决方法
Next.js 项目中使用 print-js 库时遇到'window is not defined'错误的解决方法,包括使用 useEffect hook、检查环境和动态导入等方法,以及作者使用 import() 方法的解决思路。
非阻塞加载 CSS:避免 CDN 故障导致页面加载延迟
非阻塞加载 CSS:避免 CDN 故障导致页面加载延迟
页面加载 CSS 文件时,如果 CDN 链接失效,会导致页面加载缓慢。本文介绍一种非阻塞加载 CSS 的方法,有效避免 CDN 故障导致的页面加载延迟,通过使用 `media='none'`属性和`onload` 事件,在 CSS 文件加载完成后再将其应用于页面。
手写 JSON.stringify 函数
手写 JSON.stringify 函数
深入理解 JSON.stringify() 方法的递归逻辑,并尝试手写实现该函数,分析其处理循环引用的机制以及优化策略。文章包含一个详细的用例,并对实现难度进行了评估。
JavaScript Number.MAX_SAFE_INTEGER 最大安全整数详解
JavaScript Number.MAX_SAFE_INTEGER 最大安全整数详解
深入探讨 JavaScript 中 Number.MAX_SAFE_INTEGER 的含义,解释其背后的原因,并提供相关学习资源链接。文章涵盖了 JavaScript 数值精度问题、二进制与十进制转换等知识点。
CSS resize 属性详解
CSS resize 属性详解
CSS `resize` 属性允许调整元素大小。本文详细介绍了 `resize` 属性的使用方法,并提供了一个自定义可调整大小侧边栏的代码示例,讲解如何通过修改滚动条样式来间接控制拖动按钮样式。
JavaScript 获取页面所有 Script 标签
JavaScript 获取页面所有 Script 标签
本文介绍如何使用 JavaScript 获取页面上所有的 Script 标签,并判断 JavaScript 文件是否已加载。
解决 Element el-tree 树状数据量大时卡顿问题
解决 Element el-tree 树状数据量大时卡顿问题
Element-UI 的 el-tree 组件在处理超过 1000 条树状数据时出现卡顿现象。本文介绍如何使用虚拟滚动技术解决此问题,并提供一个可用的 GitHub 仓库链接。
Element el-tree 组件搜索高亮
Element el-tree 组件搜索高亮
Element UI 的 el-tree 组件实现搜索关键词高亮显示的解决方案,使用正则表达式替换关键词并用 `<mark>` 标签包裹实现高亮效果。
解决 Element UI el-tree 组件宽度超出父元素滚动条无效问题
解决 Element UI el-tree 组件宽度超出父元素滚动条无效问题
解决 Element UI 框架中 el-tree 组件宽度超出父元素时,滚动条失效的问题。本文提供 CSS 样式代码,通过设置 overflow 属性和调整节点样式来解决这个问题。
ESLint Variable 'data' is already declared in the upper scope. 错误解决
ESLint Variable 'data' is already declared in the upper scope. 错误解决
ESLint Variable 'data' is already declared in the upper scope. 错误解决
JSON.stringify 递归逻辑研究
JSON.stringify 递归逻辑研究
深入研究 JSON.stringify 方法的递归逻辑,分析其在处理嵌套对象时的行为,并解释添加属性 'v.add = c;' 后输出结果变化的原因,以及如何避免循环引用导致的崩溃。
Vue 学习(二)
Vue 学习(二)
深入学习 Vue 源码,包括 Object.defineProperty 的用法,以及父子组件继承和编译过程中的代码分析。
JavaScript 复制文本到剪贴板的问题及解决方法
JavaScript 复制文本到剪贴板的问题及解决方法
解决 JavaScript 在非安全上下文 (例如 http://) 下无法使用 `navigator.clipboard` 复制文本到剪贴板的问题。文章提供了一种兼容各种环境的解决方案,包括安全上下文和非安全上下文。
CSS 属性选择器及 Vue scoped 样式穿透
CSS 属性选择器及 Vue scoped 样式穿透
Vue 的 style 使用 scoped 属性时,会给相关 DOM 元素添加类似 `[data-v-26725ac2]` 的属性,导致无法通过 CSS 选择器直接选中某些由 JavaScript 生成的 DOM 元素。本文介绍如何使用属性选择器 (`[data-v-26725ac2]`) 和 `v-deep` (已弃用,建议使用 `>>>` 或深度选择器) 解决这个问题,并详细解释 CSS 属性选择器的用法。
FFmpeg 视频剪辑命令及 HTML 生成器
FFmpeg 视频剪辑命令及 HTML 生成器
使用 FFmpeg 剪辑视频的命令,以及一个简易的 HTML 视频剪辑命令生成器。该生成器允许用户通过拖拽视频文件,并使用视频播放器选择起始和结束时间来生成 FFmpeg 剪辑命令。
JavaScript 动态寻峰算法
JavaScript 动态寻峰算法
使用 JavaScript 实现动态寻峰算法,用于实时时间序列数据中的峰值检测。该算法基于平滑 Z 分数方法,能够有效地识别波峰和波谷。
JavaScript 动态时间规整 (DTW) 算法实现
JavaScript 动态时间规整 (DTW) 算法实现
JavaScript 实现的动态时间规整 (DTW) 算法,用于计算两个时间序列(尤其是不同长度的序列)的相似度。该算法在语音识别、手势识别等领域有广泛应用。
Js 异常点检测算法
Js 异常点检测算法
使用 JavaScript 算法从数据集中识别异常值,例如从 `0,1,2,2,2,3,111,2,333,4,3,2`中找出`111`和`333` 这两个异常值。
CSS `text-align: center` 图片居中失效的解决方法
CSS `text-align: center` 图片居中失效的解决方法
使用 CSS `text-align: center` 属性使图片水平居中时,图片需要设置 `display: inline-block;` 属性。本文解释了原因,并提供了代码示例。
CSS 原子化设计
CSS 原子化设计
本文探讨 CSS 原子化设计,介绍了利用 Sass 循环生成 CSS 类的方法,并推荐了 Windi CSS、Tailwind CSS 和 uView UI 等成熟方案,以及它们的优缺点。文章还分析了 uView UI 中优雅的 CSS 原子化代码示例,并提供了代码示例。
滚动条导致的布局问题
滚动条导致的布局问题
Flex 布局下,滚动条的出现与否导致元素位置发生变化的 CSS 布局问题排查与解决方法。文章描述了一个由于滚动条的存在与否导致输入框在页面上位置不同的 bug,并分析了其原因。
JS 与 GoLang 的闭包比较
JS 与 GoLang 的闭包比较
本文比较了 JavaScript 和 Go 语言中闭包的用法,并通过具体的代码示例演示了它们在实现相同功能时的异同。文章还解答了作者在学习 Go 语言闭包时遇到的疑惑,并对 JavaScript 中闭包的理解进行了反思。
使用 CSS 隐藏滚动条并绘制三角形
使用 CSS 隐藏滚动条并绘制三角形
使用 CSS 绘制三角形,并介绍如何隐藏滚动条。文章包含代码示例,以及对 CSS 形状绘制的资源链接。
CSS 禁用文本选择
CSS 禁用文本选择
使用 CSS 禁用文本选择的方法。
CSS 隐藏滚动条
CSS 隐藏滚动条
使用 CSS 隐藏滚动条的方法。
JavaScript 实现鼠标滚轮左右滚动
JavaScript 实现鼠标滚轮左右滚动
使用 JavaScript 将元素的上下滚动改为左右滚动,通过监听鼠标滚轮事件并控制元素的水平滚动来实现。文章提供代码示例和相关参考资料,方便读者理解和应用。
JavaScript 的一些意想不到的 Bug
JavaScript 的一些意想不到的 Bug
本文介绍了一个 JavaScript 中意想不到的 bug,以及如何修复它。代码示例展示了如何避免在数组操作中出现类似问题。
Js 鼠标拖动 Dom 实现滚动条移动
Js 鼠标拖动 Dom 实现滚动条移动
使用 JavaScript 实现鼠标拖动 Dom 元素来控制滚动条移动的代码示例及解释。
JS 移除中文标点
JS 移除中文标点
使用正则表达式移除常见的中文标点符号。
JS 时间工具
JS 时间工具
一个 JavaScript 时间转换函数,可以将时间戳转换为“刚刚”、“几分钟前”、“几小时前”、“几天前”等相对时间格式,方便显示时间信息。
Vue 设置 iframe 内容样式
Vue 设置 iframe 内容样式
在 Vue 中,如何设置 iframe 内容的样式,这篇文章介绍了如何在同源策略下,通过 JavaScript 在 iframe 加载后动态添加样式,解决 iframe 内容样式设置的问题。
JavaScript 异常数据提取算法
JavaScript 异常数据提取算法
JavaScript 异常数据提取算法,使用四分位距 (IQR) 方法识别并提取数据中的异常值。
JS 跨 Tab 通信
JS 跨 Tab 通信
同一个浏览器打开多个页面,页面之间通信的方法,介绍 Broadcast Channel API 及其使用方法。
JS 时间转换为字幕时间,生成字幕
JS 时间转换为字幕时间,生成字幕
JavaScript 代码实现将时间戳转换为字幕时间格式,并生成字幕文件。包含 `srtTimestamp` 函数用于时间格式化,以及 `inputToSRT` 函数用于生成 SRT 字幕格式文本。
CSS Grid 平均分布自动换行
CSS Grid 平均分布自动换行
使用 CSS Grid 实现子元素宽度高度固定,列数不固定,且内容整体平均分布,自动换行的布局效果。解决 flex 布局在列数不固定时,最后几个元素难以居左的问题。
HTML Language Setting
HTML Language Setting
如何在 HTML 中设置语言,避免谷歌翻译提示。本文介绍了 `lang` 属性的用法,以及不同语言代码的示例,例如:`zh-Hans`(简体中文)、`zh-cmn-Hant`(繁体中文)、`en`(英语)。
JavaScript 获取浏览器信息
JavaScript 获取浏览器信息
使用 JavaScript 获取浏览器信息的代码示例及说明。
专用网络的 CORS (RFC1918) 问题研究及解决方案
专用网络的 CORS (RFC1918) 问题研究及解决方案
本文研究了在专用网络环境下,由于 Chrome 浏览器 CORS (RFC1918) 策略导致的跨域访问问题,分析了问题产生的原因,并提出了多种解决方案,包括在开发和测试环境中使用内网访问,上线时使用公网接口,以及使用内网穿透技术。
npm 引入本地包
npm 引入本地包
如何在 npm 中引入本地包,解决项目中 UI 库样式冲突的问题,提供 `package.json` 配置和 yarn 命令行示例。
ElementUI 抽屉组件意外关闭问题解决
ElementUI 抽屉组件意外关闭问题解决
解决 ElementUI 抽屉组件 Drawer 在选中文字后,鼠标移到遮罩层意外关闭的问题。通过监听鼠标按下和弹起事件,阻止遮罩层在选中文字拖拽时关闭。
JavaScript 背景动画插件 particles.js
JavaScript 背景动画插件 particles.js
介绍一款强大的 JavaScript 背景动画插件 particles.js,附带 GitHub 链接和在线配置示例。
JS 拦截鼠标事件
JS 拦截鼠标事件
JavaScript 代码示例,用于拦截鼠标事件并记录鼠标位置和目标元素 ID。代码使用 `document.addEventListener('click', TrackMouse)` 监听点击事件,并通过 `TrackMouse` 函数记录事件信息。
JS 文本选择监听
JS 文本选择监听
本文介绍如何使用 JavaScript 监听文本选择事件,并获取选中文本信息和位置。
Vue 动态切换背景图片
Vue 动态切换背景图片
使用 Vue 动态切换背景图片的方法。
Vue.js 实用技巧:使用 .sync 修饰符实现父子组件数据同步
Vue.js 实用技巧:使用 .sync 修饰符实现父子组件数据同步
本文介绍了 Vue.js 中如何使用 `.sync` 修饰符实现父子组件之间数据的双向绑定,并提供了具体的代码示例,方便开发者快速学习和应用。
JS 实现点击按钮复制文本到剪贴板
JS 实现点击按钮复制文本到剪贴板
JavaScript 代码实现点击按钮将文本复制到剪贴板的功能,包含两种方法:navigator.clipboard.writeText 和 document.execCommand('copy'),并提供兼容性处理。
Vue 获取 Element UI 中的 Textarea
Vue 获取 Element UI 中的 Textarea
本文介绍如何使用 Vue.js 获取 Element UI 中的 Textarea 组件。提供了一种改进的方法,避免了使用笨方法带来的潜在问题。
Vscode Prettier 诡异的格式化换行问题及解决
Vscode Prettier 诡异的格式化换行问题及解决
Vscode Prettier 格式化 HTML 代码时换行不符合预期,导致 `<van-button>` 标签被拆分到多行。通过设置`htmlWhitespaceSensitivity: 'ignore'`解决此问题。
CSS 实现 1px 高清边框
CSS 实现 1px 高清边框
移动端 1px 边框的 CSS 实现方案,包括利用伪元素缩放实现高清 1px 边框的代码和解决方法。本文提供了一种使用伪元素和缩放来解决移动端 1px 边框模糊问题的 CSS 代码,并针对不同设备像素比做了适配。
HTML 回车换行与 CSS
HTML 回车换行与 CSS
如何使用 CSS 使 HTML 代码中的回车换行生效。介绍了 `white-space: pre-line;` 和 `white-space: pre-wrap;` 属性。
JavaScript 隐藏手机号中间部分
JavaScript 隐藏手机号中间部分
JavaScript 实现隐藏手机号中间部分的方法,包括字符串截取和正则表达式两种方式。
JS 携带参数下载文件
JS 携带参数下载文件
本文介绍了使用 Axios 和 Fetch 在 JavaScript 中携带参数下载文件的方法,并提供了相应的代码示例和参考文章链接。
Vue 深度 CSS 选择器
Vue 深度 CSS 选择器
本文介绍 Vue 中深度 CSS 选择器的使用方法,包括 `::v-deep` 的用法以及一些示例代码,例如如何使用 `::v-deep` 选择器修改 van-cell 组件的样式。
Vue 编程式添加组件
Vue 编程式添加组件
本文介绍了多种在 Vue.js 中编程式添加组件的方法,包括使用 `Vue.extend`、`render` 函数以及原生 JS 创建 DOM 元素等方式,并附带了多种代码示例和参考链接,帮助开发者理解和掌握 Vue 组件的动态添加技术。
JS 数组字符串转换为对象
JS 数组字符串转换为对象
将 JS 数组字符串转换为对象,例如将 glob 获取的文件列表转换成树状结构。文中提供了解决方案和代码示例,并讨论了类似的场景。
JavaScript 数组分片切割方法
JavaScript 数组分片切割方法
几种 JavaScript 数组分片切割方法的实现和比较,包括 lodash 库的使用、reduce 方法、原型链修改以及 slice 方法的运用,并对各种方法的优缺点进行分析。
JS 实现锚点跳转
JS 实现锚点跳转
使用 JavaScript 实现网页锚点跳转,无需使用 a 标签。
Vue 开发环境端口修改及跨域代理配置
Vue 开发环境端口修改及跨域代理配置
本文介绍如何修改 Vue 开发环境的端口号,以及如何配置跨域本地代理,解决开发过程中前后端分离导致的跨域问题。
Vue.js 修改浏览器 URL 无刷新
Vue.js 修改浏览器 URL 无刷新
使用 Vue.js 和 JavaScript 的 `window.history.pushState` 和 `$router.push` 方法修改浏览器 URL,无需刷新页面,并支持浏览器返回按钮功能。文章包含代码示例和详细解释。
CSS 选择器详解:`[id~=footnotes]` 失效原因分析
CSS 选择器详解:`[id~=footnotes]` 失效原因分析
深入探讨 CSS 选择器,特别是 `[id~=footnotes]`选择器失效的原因,并与`[id^='footnotes']` 进行比较。文章通过一个实际案例,解释了如何正确选择包含特定字符串的 ID 属性。
CSS 设置文本不可选
CSS 设置文本不可选
CSS 设置文本不可选,防止部分文本被选中。使用 `user-select: none;` 属性即可。
Vue 加载 HTML 代码的方法及优化
Vue 加载 HTML 代码的方法及优化
本文介绍了在 Vue 中加载 HTML 代码的几种方法,并重点分析了 `v-html` 指令和自定义指令 `v-string` 的优缺点,以及如何避免 `v-html` 导致的 HTML 结构改变问题。提供了更优的解决方案,并附带了相关 API 的链接。
Windows 下快速删除 node_modules 文件夹
Windows 下快速删除 node_modules 文件夹
node_modules 文件夹太大,删除缓慢?本文提供两种方法,使用 Windows 原生命令和 rimraf 工具,快速删除 node_modules 文件夹。
ESLint 配置允许使用 any
ESLint 配置允许使用 any
在使用 TypeScript 的 Vant 项目中,ESLint 插件 `@typescript-eslint/no-explicit-any` 默认禁止使用 `any` 类型。本文介绍如何通过在 ESLint 配置中添加规则 `\"@typescript-eslint/no-explicit-any\": \"off\"` 来解决这个问题,从而允许使用 `any` 类型。
JavaScript 判断是否为 iPad
JavaScript 判断是否为 iPad
使用 JavaScript 判断用户设备是否为 iPad 的方法,包括解决 iPad Pro 检测问题。
解决 iOS 输入框页面自动放大问题
解决 iOS 输入框页面自动放大问题
iOS 点击 input 输入框时页面会放大,本文提供一种 meta 标签的解决方案,有效防止页面自动放大。
JavaScript 从 HTML 字符串中提取文本
JavaScript 从 HTML 字符串中提取文本
JavaScript 方法,用于从包含 HTML 标签的字符串中提取纯文本内容。提供代码示例及详细说明,解决富文本编辑器中提取文本的需求。
JS 正则匹配 HTML 标签并去除
JS 正则匹配 HTML 标签并去除
使用 JavaScript 正则表达式去除富文本编辑器中的 HTML 标签,只保留文本内容。文章提供了一个正则表达式示例及代码,并对该正则表达式的优缺点进行了分析。
优雅地创建 1 到 N 的数组
优雅地创建 1 到 N 的数组
几种 JavaScript 优雅创建 1 到 N 的数组的方法,包含多种代码示例及对比,方便开发者选择最合适的方法。
提取 CODEIF 核心代码片段
提取 CODEIF 核心代码片段
这段代码从 searchcode.com API 提取代码片段,并解析其中的变量,最终输出包含变量名、仓库链接和语言的列表。代码使用了 axios 库进行网络请求,并包含正则表达式匹配和数据处理逻辑。核心功能是根据关键词从代码仓库中提取变量信息。
JS Array 和 Set 相互转换
JS Array 和 Set 相互转换
JavaScript 中 Array 和 Set 数据结构的相互转换方法。
JS 遍历对象所有 key 并转成数组
JS 遍历对象所有 key 并转成数组
JavaScript 遍历对象的所有 key,并将它们转换成数组。文章提供了递归方法,以及广度优先和深度优先遍历方法,并对代码进行了详细的解释。
NodeJS 递归读取文件夹内容
NodeJS 递归读取文件夹内容
几种 NodeJS 递归读取文件夹内容的方法,包括使用 glob 和原生 fs 模块的实现,并比较了同步和异步遍历的性能差异。
JS 锚点偏移
JS 锚点偏移
JavaScript 锚点点击后滚动到指定 DOM 元素,解决顶部固定 Header 导致的偏移问题。提供一种高效的 JavaScript 实现方法,处理锚点滚动并考虑固定 Header 高度的偏移。
Vscode 谷歌翻译中文变量名并转换为小驼峰
Vscode 谷歌翻译中文变量名并转换为小驼峰
Vscode 插件 Google Translate 的改进版本,可以将中文变量名翻译成英文并转换为小驼峰命名法。该插件提高了开发效率,尤其适合英语能力较弱的开发者。
自定义 VS Code 代码片段
自定义 VS Code 代码片段
本文介绍如何自定义 VS Code 代码片段,以 Vue.js 代码为例,提高开发效率。无需每次新建 Vue 文件都复制粘贴模板,只需输入自定义的代码片段前缀,即可快速生成常用的 Vue 文件结构。
一个难以发现的 JavaScript Bug
一个难以发现的 JavaScript Bug
本文分析了一个难以发现的 JavaScript Bug,该 Bug 发生在使用 `const` 声明变量时,由于没有变量提升导致的错误。文章包含了出错代码、Webpack 打包后代码以及错误原因分析。
Vue 学习(一)深入 Vue 源码学习 JavaScript
Vue 学习(一)深入 Vue 源码学习 JavaScript
通过阅读 Vue 源码学习 JavaScript,分析 new Vue 的过程,以及 initMixin 如何操作 Vue 原型的机制,并进行手写练习,加深对 JavaScript 原型继承和 this 指向的理解。
JS 正则表达式技巧
JS 正则表达式技巧
本文介绍了一些 JavaScript 正则表达式技巧,包括如何匹配可能存在的值,如何使用捕获组和命名分组,以及如何避免一些常见的陷阱。通过具体的例子,演示了如何使用正则表达式提取字符串中的特定部分。
Safari 输入框无效问题及解决方法
Safari 输入框无效问题及解决方法
本文记录了在 Safari 浏览器中,input 输入框无效以及 jQuery 的 onchange 方法失效的问题。文章分析了问题原因,并提供了使用 addEventListener 方法和将输入框挂载到 DOM 上的解决方案。
JS 为什么是单线程的
JS 为什么是单线程的
JavaScript 为什么是单线程的?本文探讨了 JavaScript 单线程的本质原因,以及由此带来的优势和挑战,并延伸讨论了浏览器多进程、Node.js 多线程和多进程等相关概念。
JS 字符串去重最佳方案
JS 字符串去重最佳方案
本文研究了 JavaScript 字符串去重的最佳方案,并对几种不同方法的效率进行了比较,最终得出 `test6`方法最快,并解释了其原因。文章还探讨了`indexOf` 方法的效率以及`new Set`方法的底层原理。
JS 柯里化的思考
JS 柯里化的思考
本文并非讲解柯里化本身,而是记录学习过程中的一些思考,并包含多个难度级别的柯里化函数实现和解答。
JSONP 与 CSP 的探究
JSONP 与 CSP 的探究
本文探讨了 JSONP 的工作原理以及 Content Security Policy (CSP) 如何影响 JSONP 的使用,并通过一个实际案例分析了知乎网站的 CSP 设置如何阻止来自 y.qq.com 的 JSONP 请求。
使用 setTimeout 和 clearTimeout 模拟 setInterval 和 clearInterval
使用 setTimeout 和 clearTimeout 模拟 setInterval 和 clearInterval
本文介绍了如何使用 `setTimeout` 和 `clearTimeout` 函数来模拟 `setInterval` 和 `clearInterval` 函数的功能,并讨论了实现过程中遇到的问题和解决方案。文章分析了不同实现方法的优缺点,并提供了改进建议。
JS 常见的拷贝方法,手写一个深拷贝
JS 常见的拷贝方法,手写一个深拷贝
本文介绍了 JavaScript 中常见的浅拷贝和深拷贝方法,包括 `Object.assign`、扩展运算符、`JSON.stringify`以及`lodash`库的`_.cloneDeep`方法,并手写实现了一个深拷贝函数。同时解释了浅拷贝和深拷贝的区别,以及`JSON.stringify` 方法的局限性。
JS 基础复习笔记(面试用)
JS 基础复习笔记(面试用)
JavaScript 基础知识复习笔记,涵盖原型、原型链、继承、闭包、this、箭头函数、instanceof、typeof、V8 内存回收、内存泄露、call、bind、apply、Promise、Event Loop、宏任务、微任务等,并包含一些手写代码练习题。
JS 闭包
JS 闭包
深入理解 JavaScript 闭包的概念、应用场景及常见示例,包括闭包模拟私有变量等技巧。文章解答了闭包与高阶函数的关系等常见疑问。
TSLint 忽略特定行
TSLint 忽略特定行
如何使用 `// @ts-ignore` 忽略 TSLint 在特定行中的错误,例如处理有问题的外部组件声明。
JavaScript Array.prototype.flat() 兼容性处理
JavaScript Array.prototype.flat() 兼容性处理
本文介绍了如何处理 JavaScript 中 Array.prototype.flat() 方法的兼容性问题,特别是针对不支持该方法的旧版浏览器(例如 Chrome65 及更低版本)的解决方案。提供了 polyfill 代码,可以确保在所有浏览器中都能正常使用 flat() 方法。
JavaScript 获取图片宽高
JavaScript 获取图片宽高
JavaScript 获取图片宽高的方法示例。
JavaScript 字符串执行代码
JavaScript 字符串执行代码
介绍如何安全地执行 JavaScript 字符串中的代码,避免使用 `eval()` 函数带来的风险,并提供替代方案。
JS 可选链操作符
JS 可选链操作符
本文介绍了 JavaScript 可选链操作符的使用,并通过示例展示了如何使用可选链操作符优化代码,避免了冗余的 null 或 undefined 检查。
JS 使用 GOT 库替代 request
JS 使用 GOT 库替代 request
request 库已停止维护,本文介绍如何使用 got 库作为替代方案,并提供使用示例,包括使用 util.promisify 和 stream.pipeline 下载文件。
深入理解 CSS 中的块格式化上下文 (BFC)
深入理解 CSS 中的块格式化上下文 (BFC)
深入理解 CSS 中的块格式化上下文 (BFC),学习如何使用 BFC 阻止元素被浮动元素覆盖,包含浮动元素,以及阻止 margin 合并。文章包含代码示例和个人理解,适合有一定前端基础的开发者学习。
CSS 鼠标悬停光标变化
CSS 鼠标悬停光标变化
本文介绍如何使用 CSS 的`cursor: pointer;`属性以及其他 cursor 属性值,例如 auto、default、wait、text 等,实现不同类型的鼠标光标效果,例如鼠标悬停时变为小手。
JS parseInt 方法详解及常见问题
JS parseInt 方法详解及常见问题
深入探讨 JavaScript 中 parseInt 方法的用法,包括其参数、返回值、以及常见错误和解决方案,并附带代码示例和详细解释。
ESLint 忽略特定文件和目录
ESLint 忽略特定文件和目录
项目中引入了一个不符合 ESLint 规范的 JavaScript 文件,但又不想重构,如何使用 ESLint 忽略对该文件的检查?本文介绍如何通过 `.eslintignore` 文件忽略特定的文件和目录。
React 渲染 HTML 字符串
React 渲染 HTML 字符串
React 组件输出 HTML 字符串,如何直接渲染而不是显示为字符串?使用 dangerouslySetInnerHTML 方法解决,但需注意其安全性。
React Hooks 中父组件调用子组件方法
React Hooks 中父组件调用子组件方法
本文介绍了如何在 React Hooks 中使用 useRef、useImperativeHandle 和 forwardRef 三个方法,实现父组件主动调用子组件方法的功能。文章包含了子组件和父组件的代码示例,并解释了各个方法的作用。
Webpack 引入 SVG 文件
Webpack 引入 SVG 文件
公司脚手架缺少加载 SVG 图标功能,导致引入 SVG 图片失败。本文介绍使用 webpack 的 file-loader 解决此问题。
优雅的 JavaScript 对象值判断和重置
优雅的 JavaScript 对象值判断和重置
本文介绍了两种判断 JavaScript 对象值是否都为 `true` 的方法,并提供了一种重置对象值为 `false` 的优化方案。比较了循环判断和 `Object.values().every()` 方法的效率和优雅性。
JS Tree 树状数据 Object Array 互转
JS Tree 树状数据 Object Array 互转
JavaScript 树状数据与数组之间的相互转换方法,包括递归和更简洁的函数式编程方法,并讨论了性能和潜在的内存溢出问题。
CSS hover 的用法详解及示例
CSS hover 的用法详解及示例
本文详细介绍了 CSS hover 的用法,并通过一个示例演示了如何实现鼠标移到父 div 时显示子 div,移出父 div 时隐藏子 div 的效果。文章还包含一个 Stack Overflow 问题的链接,该问题与 CSS hover 相关。
CSS position: absolute 属性问题详解
CSS position: absolute 属性问题详解
本文深入探讨了 CSS 中 `position: absolute` 属性的使用,特别是子元素相对于父元素定位的问题。详细解释了为什么父元素需要设置 `position: relative` 属性才能使子元素的 `absolute` 定位生效,并通过示例代码演示了正确的使用方法。
JavaScript 空对象判断及条件判断陷阱
JavaScript 空对象判断及条件判断陷阱
本文探讨了 JavaScript 中判断空对象和条件判断的陷阱,例如 `if({})` 的逻辑判断以及后端返回 '0' 字符串的情况,并提供了相应的解决方案。
JS URL 校验方法及正则表达式优化
JS URL 校验方法及正则表达式优化
本文探讨了使用 JavaScript 校验 URL 的几种方法,包括使用浏览器内置的 URL 对象和自定义正则表达式。文章分析了不同方法的优缺点,并对一个常见的 URL 正则表达式进行了优化,使其能够更准确地校验 URL 的有效性。
React 阻止事件冒泡
React 阻止事件冒泡
本文介绍了在 React 中阻止事件冒泡的几种方法,并提供了具体的代码示例。
React 性能优化之 React.memo
React 性能优化之 React.memo
React 性能优化技巧:使用 React.memo 提升组件性能。文章介绍了 React.memo 的使用方法,以及如何通过自定义比较函数来优化性能,避免不必要的组件重新渲染,从而提升应用的流畅性。
React 性能优化之 useCallback
React 性能优化之 useCallback
本文深入探讨 React 中的 useCallback hook,解释其作用、用法以及如何避免过度使用。通过代码示例和详细说明,帮助开发者理解 useCallback 如何提升 React 应用的性能,并避免常见的误区。文章还分析了 useCallback 与组件重新渲染之间的关系,以及在何种场景下使用 useCallback 最为有效。
使用 Node.js 实现简单的 Express 入口
使用 Node.js 实现简单的 Express 入口
使用 Node.js 的 http 模块和 url 模块构建一个简单的 Express 风格的服务器,实现基本的路由和文件读取功能,包含对中文乱码的处理。文章还列出了后续需要实现的功能,例如路由优先级、资源识别、响应头设置、压缩、流式输出和缓存等。
使用正则表达式提取字符串开头和结尾之间的内容
使用正则表达式提取字符串开头和结尾之间的内容
本文介绍如何使用正则表达式匹配以特定字符串开头和结尾的字符串,并提取中间部分。文章包含了匹配开头、匹配结尾以及同时匹配开头和结尾的正则表达式示例。
Webpack 屏蔽不需要引入的 Less 文件
Webpack 屏蔽不需要引入的 Less 文件
解决 Webpack 引入外部 npm 组件时,组件内部调用 Ant Design 的 Less 文件导致样式冲突的问题。文章提供两种解决方案:使用 `less-loader`的`additionalData`选项和使用`NormalModuleReplacementPlugin` 进行资源替换。
React useState 更新数组无效的问题及解决方法
React useState 更新数组无效的问题及解决方法
使用 React 的 useState 更新数组时,如果直接修改数组引用,React 可能无法检测到变化,导致页面不更新。本文解释了原因并提供了有效的解决方法,例如使用展开运算符 ([...array]) 创建新的数组副本。
正则校验及合并正则公式的一些想法
正则校验及合并正则公式的一些想法
本文探讨了使用正则表达式校验输入框内容,只允许输入汉字、字母(大小写)、数字以及特定符号的需求,并尝试合并多个正则表达式。文章还列举了一些常见的正则表达式资源。
递归树状数据,查找祖先节点并数组输出
递归树状数据,查找祖先节点并数组输出
处理递归树状数据,优雅地找到目标节点的祖先节点并以数组方式输出。文章包含多种实现方法,包括递归和非递归方法,并讨论了代码优化和 BUG 修复。
强大的 JSON.stringify 方法
强大的 JSON.stringify 方法
利用 JSON.stringify 方法优雅地处理树状数据,包括替换属性名、删除属性、数据格式化以及查找特定数据等技巧。本文介绍了 JSON.stringify 的高级用法,例如使用 replacer 函数进行属性替换、删除和数据格式化,以及如何利用它查找特定数据。这些技巧可以有效提高树状数据处理效率。
简易的 React Table 组件
简易的 React Table 组件
一个简易的 React Table 组件,实现了固定表头和固定列的功能,并使用了 react-list 组件实现无限加载。文章包含代码分析和运行效果演示。
简易的 npm 包依赖查看器
简易的 npm 包依赖查看器
一个简易的 npm 包依赖查看器,使用 Node.js 和 axios 等库实现,可以可视化展示 npm 包的依赖树。
使用 JavaScript 下载文件(模仿 Mega.io)
使用 JavaScript 下载文件(模仿 Mega.io)
使用 JavaScript 模拟 Mega.io 的文件下载方式,通过 XMLHttpRequest 和 Blob 对象实现文件下载,并在下载完成后触发浏览器下载对话框。文章包含完整代码示例和使用方法。
JavaScript 获取数组中重复次数最多的项
JavaScript 获取数组中重复次数最多的项
本文介绍几种 JavaScript 方法来查找数组中出现次数最多的项,并比较它们的性能差异。包括简单的计数方法、排序方法以及更高级的算法。文中还包含了代码示例和性能测试结果,方便读者理解和应用。
从 URL 中获取文件名:JavaScript 教程
从 URL 中获取文件名:JavaScript 教程
JavaScript 教程:学习如何从 URL 中提取文件名。提供简洁有效的代码示例,帮助你快速掌握这项技巧。
JavaScript 替换字符串中的回车符 '\n'
JavaScript 替换字符串中的回车符 '\n'
本文介绍了在 JavaScript 中如何替换字符串中的回车符 '\n'。示例代码展示了如何使用 `replace()` 方法及其 `g` 标志来替换所有出现的回车符。
JS 从对象中获取需要的属性
JS 从对象中获取需要的属性
JavaScript 教程:从复杂嵌套对象中提取所需属性,包含递归函数的实现、优化和命名建议。文章讲解了如何从一个包含多个嵌套层级对象的数组中,只提取'title'和'aaa'属性,并对递归函数进行优化。
React 组件父子传值
React 组件父子传值
React 组件间的父子传值方法详解,包括 Class 组件和 Function 组件两种方式,并附带代码示例。文章讲解如何通过 props 在父组件和子组件之间传递数据。
斐波那契数列的几种解法
斐波那契数列的几种解法
本文介绍了三种不同的方法来计算斐波那契数列,包括暴力递归、动态规划和空间优化后的动态规划,并对每种方法的优缺点进行了分析。
JavaScript 基础知识笔记
JavaScript 基础知识笔记
这篇笔记记录了巩固 JavaScript 过程中遇到的基础知识点,包括 null 和 undefined 的区别、数据类型转换、bind、apply、call 方法的使用、AMD、CMD、UMD 和 CommonJS 模块规范的比较,new 操作符的实现原理,instanceof 操作符的实现原理,0.1+0.2!=0.3 的原因及解决方法,宏任务和微任务的区别,原型链的解释以及面向对象编程的相关知识。
将 Vue 组件挂载到 shadowRoot
将 Vue 组件挂载到 shadowRoot
本文介绍如何在 Chrome 扩展程序中使用 shadowRoot 隔离 DOM,并讲解如何将 Vue 组件挂载到 shadowRoot 中的元素上,从而避免插件与页面 DOM 产生冲突。
Webpack 5 配置 Vue 脚手架问题及解决方法
Webpack 5 配置 Vue 脚手架问题及解决方法
升级 Webpack 5 配置 Vue 脚手架过程中遇到的样式失效问题,以及使用 vue-style-loader 和 css-loader 的解决方案。文中分析了问题原因,并提供了修改 Webpack 配置的示例代码。
JS 消抖与节流
JS 消抖与节流
本文介绍了 JavaScript 中的消抖 (debounce) 和节流 (throttle) 函数,并提供了相应的代码实现,以及针对华为平板点击事件触发两次问题的解决方案。
Safari 字体设置无效排查及解决方案
Safari 字体设置无效排查及解决方案
在 Safari 浏览器中,字体设置无效的问题排查与解决方法。文章分析了 `lang` 属性对字体设置的影响,并提供了解决方案。
一些看上去很厉害的 JavaScript 代码示例
一些看上去很厉害的 JavaScript 代码示例
收集了一些群里看到的 JavaScript 代码示例,包括一行代码实现特定逻辑、递归处理树结构以及基于权重进行排序的示例。
巧用 Getter 和 Setter 进行 JavaScript 调试
巧用 Getter 和 Setter 进行 JavaScript 调试
调试 JavaScript 代码时,监控变量何时被修改可能很困难。本文介绍如何巧妙地利用 Getter 和 Setter 方法来追踪变量的修改,从而更有效地进行调试。
使用 JavaScript 向页面插入 CSS 代码
使用 JavaScript 向页面插入 CSS 代码
本文介绍如何使用 JavaScript 代码向网页中插入 CSS 样式。提供了一个 `addCss` 函数,用于创建 style 元素并向其中添加 CSS 代码,最后将 style 元素添加到页面的 head 部分。
JavaScript 获取鼠标所在区域的 DOM 元素
JavaScript 获取鼠标所在区域的 DOM 元素
本文介绍了几种 JavaScript 获取鼠标所在区域 DOM 元素的方法,包括遍历元素、为所有元素添加事件监听器以及在 body 上监听 mousemove 事件,并对每种方法的优缺点进行了分析。最后,文章感谢了提供帮助的群友。
JS 设置表格列宽无效
JS 设置表格列宽无效
解决 JavaScript 设置表格列宽无效的问题。文章分析了 JSP 生成的表格代码,以及如何通过修改 JSP 代码中的 `<td>` 标签,添加 `width` 属性来解决问题。同时探讨了使用子代选择器和直接设置 `td` 宽度的不同方案。
移除 jQuery 并提升 JavaScript 技能
移除 jQuery 并提升 JavaScript 技能
告别 jQuery,提升原生 JavaScript 技能。文章提供 jQuery 代码到原生 JavaScript 代码的转换示例,涵盖创建元素、设置属性、添加类名、添加元素、事件绑定、获取元素等常用操作。
JavaScript 获取当天特定时间的时间戳
JavaScript 获取当天特定时间的时间戳
本文介绍如何使用 JavaScript 获取当天特定时间(例如,当天某个小时、分钟、秒)的时间戳。文章提供代码示例,演示如何获取当天 0 点的时间戳。
Canvas 的 globalAlpha 属性
Canvas 的 globalAlpha 属性
Canvas 的 globalAlpha 属性用于设置绘图的全局透明度。本文介绍了 globalAlpha 属性的作用,并提供了一个使用 globalAlpha 生成透明图片的代码示例,该示例解决了 IE 浏览器兼容性问题。
检测浏览器是否支持 Canvas
检测浏览器是否支持 Canvas
检测浏览器是否支持 Canvas,特别是针对 IE 浏览器不支持 canvas 某些方法的情况。
IE 兼容性问题及解决方法:在 head 中添加 meta 信息
IE 兼容性问题及解决方法:在 head 中添加 meta 信息
本文介绍了解决 IE 浏览器兼容性问题的方法,特别是 IE 浏览器使用 IE5 内核加载网页的问题。通过在 HTML 的 `<head>` 中添加`<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">`元数据标签,可以强制 IE 浏览器使用最新模式渲染页面,从而解决兼容性问题。
IE 浏览器 URL 中文字符导致 400 错误的解决方法
IE 浏览器 URL 中文字符导致 400 错误的解决方法
IE 浏览器 URL 包含中文字符导致 400 错误的解决方法。使用 `encodeURI`或`encodeURIComponent` 方法对 URL 中的中文字符进行编码。
JavaScript 数组去重方法总结
JavaScript 数组去重方法总结
本文总结了多种 JavaScript 数组去重方法,包括使用 Set、for 循环、indexOf、sort、对象属性、includes、filter、递归、Map 以及 reduce 等方法,并对各种方法的优缺点进行了分析比较,方便开发者根据实际情况选择合适的去重方法。
JavaScript 四舍五入方法
JavaScript 四舍五入方法
几种 JavaScript 四舍五入的有效方法,包括使用 toFixed() 和 Math.round() 的示例。
优雅地使用 JavaScript 处理图片加载失败问题
优雅地使用 JavaScript 处理图片加载失败问题
本文介绍如何优雅地使用 JavaScript 处理网页中图片加载失败的情况,避免出现难看的裂图标志以及其他不美观的边框。提供了两种方法,一种移除加载失败的图片,另一种替换为备用图片。
IE 浏览器不支持 Array.prototype.findIndex() 的解决方案
IE 浏览器不支持 Array.prototype.findIndex() 的解决方案
IE 浏览器不支持 Array.prototype.findIndex() 方法,本文提供了解决方案,包括手动编写 for 循环以及一个完善的 polyfill 代码示例,用于在 IE 中实现 findIndex 功能。
JavaScript 中感叹号的陷阱与解决方法
JavaScript 中感叹号的陷阱与解决方法
JavaScript 中的感叹号 (!) 通常用于逻辑非运算符。本文介绍了一个常见的 JavaScript bug:使用感叹号对字符串进行逻辑非运算时,结果可能与预期不符,并提供了解决方案。
JS 检测 DevTools 是否打开
JS 检测 DevTools 是否打开
几种 JavaScript 方法检测 Chrome DevTools 是否打开,并附带代码示例和参考文章链接。包括使用 Image 元素的 getter 方法,利用 debugger 语句的时间差,以及 console.profile 方法等。
JS 父页面与 iframe 页面交互
JS 父页面与 iframe 页面交互
本文介绍了 JavaScript 父页面与 iframe 页面之间进行交互的多种方法,包括 iframe 页面调用父页面方法、iframe 页面向父窗口发送信息、父页面操作 iframe 页面以及父页面与 iframe 页面通信等,并提供了详细的代码示例和解释。
JavaScript 调试技巧
JavaScript 调试技巧
学习使用 Chrome 开发者工具调试 JavaScript 代码的技巧,包括使用 `debugger` 语句,`debug(function)` 函数以及其他实用技巧。
JS 调试技巧 2:菜单弹出框调试
JS 调试技巧 2:菜单弹出框调试
使用 Chrome DevTools 调试菜单弹出框的技巧。文章介绍了如何在菜单弹出时,使用 F8 快捷键进行断点调试。
解决一些 TypeScript 错误
解决一些 TypeScript 错误
记录一些 TypeScript 编译错误以及解决方法,包括 TS2451 和 TS2585 错误。
使用 Yarn 更新包
使用 Yarn 更新包
学习如何使用 Yarn 更新 Node.js 项目中的包,包括更新到最新版本、交互式更新以及查看包信息等方法。
使用 Webpack 配置 TypeScript 项目
使用 Webpack 配置 TypeScript 项目
本文记录了使用 Webpack 配置 TypeScript 项目的详细步骤,包括安装依赖、配置 tsconfig.json 和 webpack.config.js 文件,以及处理导入其他资源(如 SVG)的方法,并对一些常见问题进行了解答。
JS ESLint 配置笔记
JS ESLint 配置笔记
新建项目时配置 ESLint 和 Prettier,规范代码风格,并介绍 VS Code 插件配置,方便代码格式化和自动修复。
解决 Axios 额外发起一次 OPTIONS 请求
解决 Axios 额外发起一次 OPTIONS 请求
本文讨论了前端使用 Axios 发送请求时,后端收到两次请求(一次 OPTIONS 请求和一次 POST/GET 请求)的问题,分析了出现这个问题的原因(简单跨域请求和复杂跨域请求的区别),并提供了多种解决方案,包括修改 Content-Type,使用 qs 序列化参数,以及后端配置跨域响应头部等。
JS 的 call、bind、apply 笔记
JS 的 call、bind、apply 笔记
本文记录了 JavaScript 中 call、bind、apply 三个方法的区别和用法,并提供了示例代码和手写实现。
Chrome DevTools 调试技巧:忽略不必要的 JavaScript 文件
Chrome DevTools 调试技巧:忽略不必要的 JavaScript 文件
本文介绍如何使用 Chrome DevTools 的 Blackboxing 功能来跳过或忽略不必要的 JavaScript 文件,从而提高 JavaScript 调试效率。文章包含图文教程,并提供相关参考资料链接。
使用 JavaScript 加载其他 JS 文件
使用 JavaScript 加载其他 JS 文件
本文介绍了两种使用 JavaScript 加载其他 JS 文件的方法:ES6 Promise 方法(同步加载和按顺序加载多个文件)以及传统的异步加载方法。文章包含代码示例和解释,方便读者理解和应用。
使用 Fiddler 替换 JS 文件进行调试
使用 Fiddler 替换 JS 文件进行调试
使用 Fiddler 拦截并替换远程压缩的 JS 文件为本地文件,方便进行调试,包括 HTTPS 抓包配置。文章介绍了 Fiddler 的 AutoResponder 功能,以及如何抓取 HTTPS 内容并生成中间人证书。也简要提及了其他替代方法如 Chrome 插件和 Local Overrides。
JavaScript 条码扫描库整理
JavaScript 条码扫描库整理
本文整理了几个常用的 JavaScript 条码扫描库,包括 quaggaJS 和 ZXing,并对它们的优缺点进行了分析。
jQuery 输入框文本增删改查、选择及光标位置操作
jQuery 输入框文本增删改查、选择及光标位置操作
使用 jQuery 实现对输入框文本的增删改查、文本选择以及光标位置控制,包含详细代码示例。
使用 Local Overrides 调试压缩的 JavaScript 文件
使用 Local Overrides 调试压缩的 JavaScript 文件
本文介绍如何使用 Chrome DevTools 的 Local Overrides 功能,将本地 JavaScript 文件替换远程压缩后的文件,方便调试原生 JavaScript 代码。无需服务器权限,也无需安装其他软件。
Input 输入框仅支持 11 位手机号输入
Input 输入框仅支持 11 位手机号输入
本文介绍如何限制 Input 输入框仅允许输入 11 位手机号,比较几种常见解决方法及其优缺点,最终给出实际项目中可行的方案。
Webpack 取消对 require 处理的几种方式
Webpack 取消对 require 处理的几种方式
本文总结了 Webpack 取消对 require 处理的几种方式,包括修改 target 为 node,使用 Externals 排除依赖,以及忽略引入文件的几种方法,并附带了相关资料和参考文章链接。
Babel 和 Webpack 兼容 IE8 的实践
Babel 和 Webpack 兼容 IE8 的实践
使用 Babel 和 Webpack 兼容 IE8 的详细过程,包括配置、踩坑以及解决方案,涵盖了 ES5、ES3 兼容性问题,以及缺少 Promise、Object.assign 等 API 的处理方法。
JavaScript 数组拍平方法
JavaScript 数组拍平方法
手写一个 JavaScript 函数,将多维数组拍平为一维数组,例如:[1, [1, 2, 3, [6, 7, 8, [10, 11, 12, 13]]], 4, 5] -> [1, 1, 2, 3, 6, 7, 8, 10, 11, 12, 13, 4, 5]
JavaScript 随机排序数组
JavaScript 随机排序数组
几种 JavaScript 数组随机排序的方法,包括简单方法和 Fisher–Yates 洗牌算法,并分析了其优缺点。文章还探讨了 `sort` 方法的实现原理。
JavaScript 出现频率最高的单词
JavaScript 出现频率最高的单词
本文提供一个 JavaScript 函数,用于查找一段文本中出现频率最高的单词,并使用 reduce 方法和正则表达式进行优化。
JavaScript 实现简单的发布订阅模式
JavaScript 实现简单的发布订阅模式
本文介绍了如何使用 JavaScript 实现简单的发布订阅模式,并提供了代码示例和测试用例。
JavaScript 红黄绿灯交替实现
JavaScript 红黄绿灯交替实现
使用 JavaScript 和回调函数实现红黄绿灯交替,并分析代码错误及优化方法。
JS 数组对象转换为树状数据
JS 数组对象转换为树状数据
将 JS 数组对象转换为树状结构数据的两种方法:一种高效的利用 Map 的方法,另一种是低效的递归方法。文章比较两种方法的效率和实现方式,并提供完整的代码示例。
JS 字符串比较
JS 字符串比较
JavaScript 字符串比较的规则:从左到右逐个字符比较 ASCII 码值,直到找到不同的字符或比较到字符串末尾。'hello' > 'ts' 返回 false,因为'h'(104) < 't'(116)。文章讲解了 JavaScript 字符串比较的原理及隐式类型转换。
JavaScript AJAX 实现详解
JavaScript AJAX 实现详解
本文详细介绍了 JavaScript 中 AJAX 的实现方法,包括使用 XMLHttpRequest 对象与服务器通信,处理响应数据以及处理错误等。文章还提供了一个简单的 AJAX 实现示例。
使用原生 JavaScript 发送文件的几种方法
使用原生 JavaScript 发送文件的几种方法
本文介绍了两种使用原生 JavaScript 发送文件的方法:使用 fetch 和 XMLHttpRequest。无需任何第三方库,直接使用原生 JavaScript 代码发送文件到服务器。
JS 手写简单的数据双向绑定
JS 手写简单的数据双向绑定
本文介绍了如何使用 JavaScript 手写实现简单的双向数据绑定,通过 Object.defineProperty 方法实现数据变化时更新视图,以及视图变化时更新数据。
JS 手写简单的哈希路由
JS 手写简单的哈希路由
本文介绍如何使用 JavaScript 手写一个简单的哈希路由,实现页面路由功能。
使用 JavaScript 识别浏览器和操作系统类型
使用 JavaScript 识别浏览器和操作系统类型
本文介绍如何使用 JavaScript 的 `navigator.userAgent` 属性来识别用户的浏览器和操作系统类型,并提供相应的代码示例,用于根据操作系统类型提供不同的下载链接。
前端文档查询:MDN Web 文档 (Mozilla)
前端文档查询:MDN Web 文档 (Mozilla)
MDN Web 文档 (Mozilla) 是一个查找前端开发相关资料的优秀资源。该文档提供了丰富的 Web 技术信息,涵盖 HTML、CSS、JavaScript 等方面。
推荐一个不错的 JavaScript 学习网站
推荐一个不错的 JavaScript 学习网站
我发现了一个不错的 JavaScript 学习网站 Codecademy (https://www.codecademy.com),它提供高质量的教程和练习题,即使遇到难题也可以查看答案。
JS 入门教程
JS 入门教程
这份教程介绍了 JavaScript 入门的学习要点,包括语法(JS、ES6)、模块化(AMD、CMD、UMD)、常用第三方库(jQuery、Lodash、Node.js、Babel、React、Vue)、工具(npm、yarn、Gulp、Webpack)以及更深入的学习内容(闭包、原型、Promise、this 作用域、函数式编程),并列出了必要的准备工作。
使用 JSBox 制作一个 IP 地址获取脚本
使用 JSBox 制作一个 IP 地址获取脚本
本文介绍如何使用 JSBox 创建一个获取 IP 地址的脚本,包含代码示例、运行效果和代码解读,并提供了相关 JSBox 接口文档和开源样例链接。
Hexo Next 主题优化:使用 hexo-all-minifier 插件压缩代码
Hexo Next 主题优化:使用 hexo-all-minifier 插件压缩代码
本文介绍如何使用 hexo-all-minifier 插件优化 Hexo Next 主题,解决旧版 uglify 不支持 ES6 导致 JS 压缩失败的问题,并提供详细的插件配置说明。文章涵盖了 hexo-all-minifier 的安装、配置以及各个配置选项的详细解释,帮助用户有效提升 Hexo 博客的性能。