自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天渺(喵)工作室

生命太短暂,不要去做没有意义的事情

  • 博客(158)
  • 收藏
  • 关注

原创 谷歌浏览器自带翻译的诡异Bug:ID翻译后竟然变化了

摘要: 在Vite+Vue3+Element Plus项目中,Chrome浏览器翻译功能导致表格数字ID被篡改(如10111872→10111873)。经排查,确认问题仅在特定设备触发,与接口数据、代码逻辑无关,根源是Chrome翻译对Element Plus表格的异常处理。通过为ID列添加HTML5的translate="no"属性临时解决,但遗留三个未解之谜:1)问题设备特异性;2)ID固定末尾+1的规律;3)是否属于Chrome或Element Plus的深层兼容性问题。该案例揭示

2025-11-22 02:15:12 948

原创 Ollama本地电脑运行无限制AI模型超简单案例

想在本地用一款 “无拘无束” 的 AI 模型?Ollama 能帮你轻松实现,但先得说清楚:这类 “越狱模型” 虽自由,却可能藏着不少小麻烦。

2025-11-15 13:46:36 1981

原创 谷歌广告AdSense/GAM 接入避坑 + 填充监听 + 问题排查

谷歌广告生态指南:AdSense/GAM 接入避坑 + 填充监听 + 问题排查 作为长期负责海外业务的开发者,公司业务中经常会和谷歌的人员有沟通。在接入谷歌广告生态时,踩了很多坑,很多坑都是和谷歌的技术人员沟通后才发现问题的(有些最新情况和文档不一致,很坑)。

2025-11-10 23:00:46 551

原创 Js如何判断AdBlock/AdBlockPlus开启状态

检测AdBlock/AdBlock Plus开启状态方法已失效了,于是专门研究了一下。并尝试了很多方法。验证成功按照EasyList的默认拦截规则反着来,确实可以触发被AdBlock/AdBlock Plus拦截,只要检测对应的文件是否加载成功就能确定是否被AdBlock/AdBlock Plus默认规则拦截了。

2025-02-10 00:23:50 3558

原创 Vite打包zip并改名为md5sum哈希案例

Vite打包zip并改名为md5sum哈希案例Vite打包zip并改名为md5sum哈希案例Vite打包zip并改名为md5sum哈希案例Vite打包zip并改名为md5sum哈希案例Vite打包zip并改名为md5sum哈希案例Vite打包zip并改名为md5sum哈希案例

2024-09-17 03:30:03 699

原创 Android项目接入MapLibre Native的简单案例

MapLibre Native 是一个免费且开源的库,用于在各种平台上的应用程序和桌面应用程序中发布地图。由于 GPU 加速的矢量瓦片渲染,地图的快速显示成为可能。

2024-06-27 00:13:56 1054

原创 el-select下拉框远程搜索且多选时,编辑需要回显的一个简单案例

前端业务开发中不管使用vue2~3,还是react,angular各种前端技术栈,经常会遇到这种业务。一个下拉框Select中,不仅需要需要**支持远程模糊搜索,还需要支持多选。并且在编辑时,还能正常把已经多选好的内容回显到Select中。**#### 用Vue3+ElementPlus+TS举一个简单的案例。

2024-04-21 02:04:10 7081 1

原创 Vue2和3中的插槽区别及其简单案例

Vue2和3中的插槽区别&插槽常用知识点温习和基本概念是一致的,也是匿名插槽、具名插槽、作用域插槽三种,只是基础语法有一些区别。下面让我们温习一下插槽的常用基础知识点。

2024-04-05 00:20:20 673

原创 html标签中lang属性踩的一个小坑,日常中还是需要留意的风险点

html lang。部有大量的广告行业英文缩写,比如CPC(Cost Per Click ),CPM(** Cost Per Click ),CPD(*Cost Per Click )等等,然后浏览器(可能是国内的某些浏览器自带翻译器的那种)碰到英文就自动提示需要翻译,用户可能一直也把翻译默认打开着。如果需要有多语言切换的,顺便也要切换lang配置编码。HTML 的 lang 属性可用于声明网页或部分网页的语言,这对搜索引擎和浏览器是有帮助的。在html中lang是英语language的缩写,是语言的意思。

2024-02-10 00:55:18 1012

原创 vue3中Fragment特性的一个bug,需要留意的注意事项

vue3中Fragment特性的一个bug,需要留意的注意事项。vue3中的Fragment 模版碎片特性是什么,简单的理解就是不在像vue2中那样必须在根节点在包裹一层节点了。

2024-01-21 21:46:18 881

原创 SyntaxError: /xxxx.vue: Unexpected token, expected “,“,[object Promise]export { render, staticRende}

webpack have the same syntaxError: /.../xxx.vue: Unexpected token, expected "," (1:8) for ALL Vue 2 components in the project

2023-08-18 23:12:50 1503

原创 html基础面试题 & html的元素居中的常用方法(基础知识温习)

html基础面试题 & html的元素居中的常用方法(基础知识温习)

2023-08-14 00:41:41 913

原创 js计算一个矩形内部,有一个等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形

一个任意矩形内部,有一个任意等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形?宽和高那个先贴到边上?可以根据两个矩形的比例关系来判断宽和高那个先溢出。首先计算出两个矩形的宽高比,然后比较它们的大小关系。若外层矩形的宽高比大于内层矩形的宽高比,则内层矩形先溢出的是宽;反之,先溢出的是高。最近在做js canvas绘图需求时,遇到一个矩形图形重叠逻辑判断问题。

2023-05-13 20:14:36 345

原创 js在循环中使用正则失效异常的坑

js中在循环中使用正则表达式遇到的小坑原因:/111/g 这种写法看起来像string,但终究还是正则,正则属于引用型数据类型。引用型数据类型 传统意义中 需要我们"才能使其 内存指向独立出来,而不是让内存指向一直指向初始定义时的源头。ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。so正则表达式属于引用数据类型。打印还存在false。

2023-04-29 23:06:21 1464

原创 CSS实现文字镂空效果炫酷背景效果

CSS实现文字镂空效果炫酷背景效果css3中有一个mix-blend-mode的screen混合模式,可以轻松实现镂空文字效果。背景我们可以固定定位设置一个静态图片,gif动态图,视频video,svg动画等等。预期效果

2023-04-09 01:56:08 1026

原创 js用前缀名查找class或id节点,js模糊查询某个dom节点

js用前缀名查找class或id节点,js模糊查询某个dom节点

2023-04-05 23:20:13 920

原创 TCP/IP和OSI的基础层级关系图,TCP/IP四层模型关系,TCP/IP和HTTP/HTTPS的关系图

TCP/IP和OSI的基础层级关系图,TCP/IP四层模型关系,TCP/IP和HTTP/HTTPS的关系图英文全称Transmission Control Protocol。英文全称Internet Protocol。tcp和ip是互联网众多通信协议中最为著名的。

2023-04-02 18:01:46 425

原创 js中null和undefined的区别

js中null和undefined的区别?这也是一个常见的js面试题。

2023-03-18 15:13:28 686

原创 Android startActivityForResult()废弃了,代替方案案例

安卓项目compileSdk为32,在使用startActivityForResult()方法时发现Android studio提示此方法已经废弃了。

2023-03-05 02:08:24 2553

原创 AI热门有趣的免费应用工具和资源分享(部分免费免登录)

AI热门有趣的应用链接整理,上搜集爬取整理了一些AI有趣的工具应用Github Copilot (Copilot 亲测好评)2,stable-diffusion(不用登录)(PS:部分资源来源于B站up Lks的页面。Dall-E-2(dall名气比较大)1,百度飞浆(不用登录)3,五秒复制你的声音。

2023-02-19 20:07:16 5050

原创 基于 Vue 自定义指令实现点击事件权限控制

Vue3中用自定义指令拦截点击事件,点击事件添加权限。某些应用场景会给点击事件添加权限,不存在权限就 拦截 点击事件(或触发其他业务事件),有权限就继续正常 触发 点击事件。如果用封装组件的方法,在使用三方UI库的情况下,封装成本过大,并不划算。

2023-02-12 23:08:39 2064 1

原创 event.path参数被浏览器删除,如何一劳永逸的解决

event.path参数被浏览器删除,如何一劳永逸的解决.event.path参最早从官方issue中可获知chromium内核团队早在21年就开始认为 Event.path 属于非标准 API,某些地方已经开始删除event.path数组参数了。2月初,Chrome(版本号109.0.5414.120)在一次升级中删除绑定点击等等部分事件中的Event.path数组参数,,将当前所有的冒泡一层一层 parentNode 元素收集起来。方法,但是根据网上的某些网友反馈也有可能返回空数组(暂未找到原因)。

2023-02-12 01:37:59 1243

原创 Flutter监听安卓系统字体变化,监听安卓系统深色模式切换

Flutter监听安卓系统字体变化;安卓系统深色模式切换Flutter通过强大的MediaQuery控件做到监听前设备的信息及其设备信息的动态变化。

2023-01-27 22:24:15 943

原创 Could not locate aapt. Please ensure you have the Android buildtools installed

Could not locate aapt. Please ensure you have the Android buildtools installed.Exception: Problem building Android application: see above error(s)

2023-01-27 16:02:01 1878

原创 To use this template, you must update following to modules:npm xxx should be xxx

To use this template, you must update following to modules: npm: should be >=

2023-01-04 00:02:05 562

原创 TCP和UDP协议之间的区别,前端基础面试题

别TCP和UDP协议之间的区,前端基础面试题

2023-01-02 23:56:35 269

原创 [vite] Internal server error:options.devServer.transformWidthEsBuild is not a function...

[vite] Internal server error:options.devServer.transformWidthEsBuild is not a function...

2022-09-11 15:40:36 1617

原创 Vite如何打包分割代码

Vite配置如何优雅的code spliiting代码分割前端生态 rollup 和 webpack都有的概念。如果把所有代码都打包到一起,可能最终的代码非常大。从而影响加载时间。而且,很多代码是初始加载时,不需要的。因此,我们可以根据代码使用的紧急程度,将代码分割打包后,可以按需加载。.........

2022-08-28 21:01:23 11548 1

原创 纯css闪烁效果demo

html css闪烁效果

2022-07-17 18:07:21 1251

原创 TCP协议三次握手过程

常见前端面试题 TCP协议三次握手过程

2022-07-03 16:16:17 5473

原创 Vue3中的teleport节点传送

Vue3 teleport官方文档地址:Vue3中的teleport API极大方便了在Vue3业务逻辑中操作移动Dom位置。

2022-06-22 00:29:04 286

原创 js中if逻辑过多,常见优化

js中if逻辑过多,常见review优化

2022-06-19 00:09:46 3386

原创 Vue3中的Composables组合式函数,Vue3实现minxins

Vue3中的Composables是什么Vue3中的Composables 简单理解其实就是类React Hooks式的组合式函数封装方法。Vue官方称为Composables 组合式函数。(1)Vue2 中的mixins混入器写法缺点 (Vue3 optionsApi写法同理)新建minxins.js文件 案例使用组件一个简单Vue2 (或Vue3optionsApi写法) minxins混入器案例很直观的看出 缺点:使用一个简单Vue3 composition API案例,写类Hook

2022-06-12 03:54:28 3911 1

原创 src和href的区别 前端基础面试题

src和href的区别 前端基础面试题

2022-06-04 03:11:06 777 1

原创 Vue3源码中的TypeScript重载函数的作用

TypeScript重载函数的作用案例C++中的一个概念(百度百科):函数重载一般指重载函数。 重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。这就是重载函数。简要总结就是函数的名称相同, 但是参数不同的几个函数, 就是函数的重载。1.Vue3 ref声明方法的源码中重载函数案例2.举一个应用场景中的案例缺点function ToAdd (a: s

2022-05-30 00:30:04 398

原创 写TS效率大提升,TS常用内置工具类Omit、Pick、Partial、Required、Readonly、Exclude 、Extract、ReturnType、NonNullable

TS中常用的工具映射类型,让写TS时效率大大提升,避免无意义的重复性定义。1.Omit 省略/剔除顾名思义 可以剔除 已定义对象中 自己不需要的一部分形成新的定义类型。interface UserObj { readonly name: string; // readonly 只读属性 只能初始化定义 不能二次赋值 age: number; id: number; sex: 0 | 1; address: string; weight: number;

2022-05-29 02:25:09 6676 2

原创 TypeScript type 和 interface区别

在使用ts的type 和 interface时两者作用(简单案例)interface只能定义对象数据结构类型。// 简单案例1interface User { name: string; age: number; sex?: string;}let user: User = { name: '', age: 233};// 简单案例2interface User1<T> { name: string; age: nu

2022-05-22 02:29:09 4379 1

原创 js统计对象的层数

js算法统计对象的层数// 测试数据var testObj = { b: { c: { d: { e: {} } }, c: { d: { e: { d: { a: { b

2022-05-04 01:45:35 822

原创 Failed to load module script: The server responded with a non-JavaScript MIME type of “text/html”.

vue3+vite打包以后,项目切换路由触发(偶发触发)报:After using vue-router, there is an error in packaging and running # Failed to load module script: The server responded with a non-JavaScript MIME type of “text/html”. Strict MIME type checking is enforced for module scripts

2022-05-01 03:34:04 18325 9

原创 Vue3+ElementPlus el-date-picker 时间范围设置 固定时间段可选 配置

vue3 template 部分 <el-date-picker v-model="value1" type="daterange" range-separator="To" :disabledDate="disabledDateFun" start-placeholder="Start date" end-placeholder="End date" />vue3 逻

2022-04-06 00:34:30 10448 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除