- 博客(23)
- 收藏
- 关注
原创 前端精度丢失问题汇总和总结
在Js中,用Number来表示数字类型的值。Number类型总长度64位二进制bit,使用53位表示小数位,10 位表示指数位,1 位表示符号位。在其他语言,如Java中,Long类型占64位二进制bit,最大值为:9223372036854774807(2^63 - 1)长度约19位。存储二进制时小数点的偏移量最大为52位,最多可表示的十进制为9007199254740992,对应科学计数尾数是 9.007199254740992,这也是 JavaScript 最多能表示的精度。
2025-01-14 17:12:10
214
原创 ios =》safari浏览器出现日期为NaN-NaN-NaN的问题
safari浏览器里面的new Date(time),其中time的日期格式要用yyyy/mm/dd,因为safari浏览器只能识别‘/’使用混合开发手机app的ios端时,内嵌的网页出现日期为NaN-NaN-NaN显示异常。使用 YY/MM/DD HH:MM:SS的格式,替代或去除时间格式中的-要兼容众多浏览器可以先判断当前是哪个浏览器,然后再转换。
2025-01-14 13:42:30
248
原创 ios 键盘弹起内容点击位置错乱点击失效详解及解决办法
【问题原因】:ios旧系统存在的一个bug(本人版本:12.1.4),键盘弹起收起的过程中,界面看起来没有什么问题,其实内容的实际dom被留在了键盘撑起的位置。【问题表现】:h5网页在iphone手机上打开,点击input/textarea 键盘弹起的时候,再收起键盘,点击按钮没有反应。滑动一下屏幕,效果就恢复了。【解决方案】:定位到了原因,也知道了滚动屏幕就能恢复,那就好办了,我们可以在input/textarea失去光标的时候让页面执行一下滚动动作。要在窗口文档显示区左上角显示的文档的 x 坐标。
2025-01-13 16:26:56
275
原创 qiankun微前端——接入子应用Vue3+vite实现
微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。微前端架构旨在解决单体应用在一个相对长的时间跨度下,由于参与的人员、团队的增多、变迁,从一个普通应用演变成一个巨石应用(Frontend Monolith)后,随之而来的应用不可维护的问题。这类问题在企业级 Web 应用中尤其常见。
2025-01-13 16:02:50
894
原创 VueDraggablePlus——支持 Vue2 和 Vue3 的拖拽组件(移动端)
功能齐全:全面继承 Sortable.js 的所有功能无缝迁移:适用于 Vue 3 和 Vue2灵活使用:支持组件、指令、函数式调用,总有一款是您喜欢的类型强:用 TypeScript 编写,带有完整的 TS 文档双向绑定:支持 v-model 双向绑定自定义容器:将指定容器作为拖拽容器。
2024-09-20 11:53:11
1072
1
原创 前端结合xlsx.js+xlsx-style.js源码实现自定义excel文件导出
在文章中,我们学习了如何使用js-xlsx来创建工作簿、添加工作表以及设置单元格的值和样式。我们还了解了如何使用自定义替换函数和样式构建器来实现批量替换值和样式的功能。
2024-02-06 17:34:33
2045
2
原创 xlsx-style.js报错Can‘t resolve ‘./cptable‘ in ‘xxx\node_modules_xlsx
首先说一下第一个方法,直接去改源码,但是换一台电脑后就要重新更改依赖包中的代码,非常麻烦;其次,现在很多项目部署在gitlab的同时也会部署流水线打包CI/CD,更改依赖解决不了流水线打包的问题,因此建议使用第二种方法更改项目配置。在\node_modules\xlsx-style\dist\cpexcel.js 807行 的。使用webpack构建项目:在webpack.base.conf.js中输入以下代码。使用脚手架构建:在vue.config.js中输入以下代码。适用于vue2x版本;
2024-02-01 10:12:49
1609
2
原创 element / antDesignVue 表格首行滚动固定显示
在原有表头结构下,新增一层children,也就是子表头;在子表头上自定义标题为首行内容,就可以实现表格首行固定显示;
2023-12-15 00:15:49
497
原创 Electron 桌面应用开发从0开始
Electron 是一个基于 Node.js 和 Chromium 的桌面应用程序开发框架,它使开发人员能够使用 Web 技术(HTML、CSS 和 JavaScript)构建跨平台的桌面应用程序。它已经被众多知名公司使用,例如 GitHub、Slack、Microsoft 等等。本文将介绍如何使用 Electron 开发桌面应用程序。本文介绍了一些 Electron 的进阶知识,包括使用主进程和渲染进程、使用模块、使用开发工具、调试、部署和热更新。
2023-11-27 10:19:05
219
原创 群接龙:AUTOJS脚本开发学习——day2
开发目的是为了使用安卓平台的用户不再为了繁琐的wechat接龙流程而苦恼。此脚本基于auto.js和javascript开发的一体化自动脚本,适配了绝大多数的安卓手机设备。脚本主要操作页面分为首页-通讯录-群聊-参与接龙-填入内容-发送接龙。
2023-09-01 14:38:24
2564
3
原创 vue中使用TinyMCE富文本框(重写图片上传插件)
使用方法:将解压得到的文件夹,放到TinyMCE主目录下的plugins文件夹内。作用:这是一个实时判断编辑器文字超过设定后触发回调的插件。简单说就是:当超过字数限制后执行一个自定义函数。(没错,机智的我将这个限制动作甩给了你们!
2023-08-29 09:35:23
892
原创 AUTOJS脚本开发学习——day1
AutoJS 类似于按键精灵,它是 Android 平台上的一款自动化工具,它通过编写 JavaScript 脚本,结合系统的「 无障碍服务 」对 App 进行自动化操作。使用 JS 编写脚本,代码可读性强脚本文件体积小,可以打包成 APK 直接安装拥有丰富的 UI 组件用于构建 GUI 界面非 Root 设备也能完成自动化操作,可以摆脱 PC 直接运行提供多种元素定位方式,可以适配各种机型官方文档非常详细,学习成本低。
2023-08-10 17:32:33
552
3
原创 如果有n 个请求,你怎么用 Promise 去控制并发?
这个题目在我遇到的面试中,非常高频,在面试的场景下第一次遇到这个题,不免手忙脚乱,但是实际上逻辑非常简单,设置当前执行任务数 cur,并设计一个数组(模拟队列)。我们实现了一个简单的异步并发任务控制器类,它可以帮助我们管理和执行一系列返回promise对象函数。那么,在实际开发中,这种工具有哪些应用场景呢?
2023-08-01 23:56:32
218
1
原创 vue实现wps的文件预览集成功能
首先,前端预览pdf、excel、word文件是一个不可避免的功能,虽然要用到的代码也不是很多,但是形形色色的各种插件始终不能很好的同时满足pdf、excel、word预览文件功能。因此,接下来介绍的这款插件,将全方位满足你对办公文件的无障碍预览。
2023-07-18 16:39:48
3570
3
原创 ion-select popover interface is not getting hidden on hardware back button action
framework-delegate-d1eb6504.js:15 Found a 'popover' attribute with an invalid value报错解决
2023-06-27 16:03:27
327
原创 前端项目优化——减少体积,加快首次加载时间
终端中运行 npm run preview – --report, 这个命令会从我们的入口main.js进行依赖分析,分析出各个包的大小。最终会在生成的dist文件夹下生成一个report.html的文件,打开后就可以看到我们在项目使用文件占据的空间大小。找到 public/index.html 通过配置CDN Config 依次注入 css 和 js。webpack配置externals配置项。
2023-06-21 11:06:11
196
原创 浏览器H5获取地理位置api——navigator.geolocation
当定位被确定后,定义的回调函数就会被执行。第三个参数也是可选的,你可以通过该对象参数设定最长可接受的定位返回时间、等待请求的时间和是否获取高精度定位。你可以设定一个回调函数来响应定位数据发生的变更(设备发生了移动,或获取到了更高精度的地理位置信息)。它与 getCurrentPosition() 接受相同的参数,但回调函数会被调用多次。错误回调函数与 getCurrentPosition() 中一样是可选的,也会被多次调用。:出于安全考虑,当网页请求获取用户位置信息时,用户会被提示进行授权。
2023-05-31 16:09:27
3676
1
原创 vue二次封装element-plus之el-table组件
tableColumn-expand:是否扩展列;tableColumn-prop:列的英文名;tableColumn-label:列的中名;tableColumn-width:列的宽度;tableColumn: 表头项;tableData:表数据;
2023-05-23 15:58:29
509
2
原创 20行代码解决电子签名
最近,产品经理给了我一个奇奇怪怪的需求:为了实现客户对流程的确认以及公司免责,需要在协议pdf后增加一步(客户确认签名),因此需要实现电子签名。我一听,有点棘手。以我的经验来说,能用插件就用插件,实在不行写原生。baidu了一小会,发现都是用canvas的。
2023-03-23 16:03:38
431
2
原创 Electron自动更新相关api
该api是配置自动更新的网址的,需在vue.config.js配合builderOptions设置pubilsh对象才可以生效。接受一个options对象,属性分别为provider:提供者;url:检查更新链接。
2022-12-09 10:43:50
1023
前端照片png格式转svg格式
2024-02-28
在vue中封装tinymce5,带自定义按钮demo(包括视频,图片上传)
2023-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人