自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 前端页面截图

如果你希望排除某些元素进行渲染,你可以给这些元素添加 data-html2canvas-ignore 属性,html2canvas 会它们从渲染中排除。大屏可视化系统,用户可自定义页面指标展示。在配置完之后要截图页面生成一个封面。

2025-01-21 17:47:39 444

原创 大文件上传

通过开启的线程数量得到每个线程需要处理的片数,每个线程对于总片数的起始索引和结束索引,在每个线程中分片。(如:10M的文件,按 1M/片 需要分10片,开 2 个线程(线程1分得0 -5,线程2 分得 6 - 10),每个线程根据切片索引截取文件)在上述为分片生成唯一hash值得过程中,分片越多,计算量越大,有严重的效率问题。hash计算是CPU密集型操作。可通过开多线程优化效率。开启几个线程,可参考计算机内核数量决定(通过navigator.hardwareConcurrency获取)。

2025-01-13 17:57:49 363

原创 js数字精度问题

1、 JavaScript使用IEEE 754规范存储数字, 其规定双精度浮点数使用 64 位(8 字节) 来存储一个浮点数,可以表示二进位制的53 位有效数字。安全整数范围是:-(2^53-1) 到 2^53-1 之间,即 -9007199254740991 到 9007199254740991。BigInt 是一种内置对象,它提供了一种方法来表示大于 2^53 - 1 的整数。BigInt 可以表示任意大的整数。2、在计算机语言中,其底层是对数据进行了二进制转换,存储的是二进制编码。

2024-12-17 17:17:03 545

原创 defineProperty

用defineProperty方法添加的属性默认不可变,字面量添加的属性默认都可变,先用字面量添加再用defineProperty修改也可变。Object.defineProperty() 静态方法会直接在一个对象上定义一个新属性,或修改其现有属性,并返回此对象。Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。返回指定对象上一个自有属性对应的属性描述符。返回指定对象上所有属性对应的属性描述符。

2024-12-05 17:37:59 876

原创 Web Worker

Web Worker是一个 在后台线程中运行的js脚本。使得在一个独立于 Web 应用程序主执行线程的后台线程中运行脚本操作成为可能。这样做的好处是可以在独立线程中执行费时的处理任务,使主线程(通常是 UI 线程)的运行不会被阻塞/放慢。

2024-12-02 17:00:00 378

原创 浏览器垃圾回收和内存泄漏

内存泄漏(Memory Leak)是指计算机程序在运行过程中,由于疏忽或错误,未能释放已经不再使用的内存空间,导致这些内存空间无法被其他程序或系统使用。追踪每个值被引用的次数,一个变量a被赋值引用类型,这个引用类型的引用次数为1,这个值赋值给另一个变量b,引用次数加1,将a或b重新赋值,引用次数减一,当引用次数为0时,将被释放。垃圾收集器会从根对象(浏览器及window)开始,递归访问它们的所有属性,并将访问到的对象都标记为“可达”。当占用的内存不再需要的时候,就会被垃圾回收器回收。

2024-11-05 19:28:44 1070

原创 element-ui 自定义主题(修改默认颜色、颜色选择器切换)

修改element-ui默认颜色此方法需使用scss。项目中使用scss的方法不再赘述① 新建 scss 文件 element-variables.scss② scss 文件中写入/*主题色变量--即需要指定的主题颜色*/ $--color-primary: #00a09f; /*font/icon路径--必写*/ $--font-path: "~element-ui/lib/theme-chalk/fonts"; @import "~element-ui/packages/theme-c

2020-12-29 17:55:55 4860 2

原创 vue 使用 sortable 实现 el-table 行、列 拖拽排序

npm 下载:npm install sortablejs --save引入:import Sortable from "sortablejs";代码:<template> <div class="table"> <el-table ref="dragTable" :data="tableData" border :row-class-name="tableRowClassName"> <el-table-colum.

2020-12-25 17:27:00 3467 6

原创 在vue中使用双工通信websocket

判断当前浏览器是否支持websocket创建websocket实例new WebSocket(url,protocols)url: 地址(必传)protocols: 用于定义子协议(非必传),需前后端约定好,用来处理不同数据类型,数组或者字符串,不传默认空字符串注意:url的协议标识符是ws、wss。没有同源限制在组件加载时连接、组件销毁时关闭常用事件open 连接成功后的回调函数此例中 this.websocket.onopen = function(){}mes..

2020-12-25 15:29:02 2617 6

原创 element-ui 组件el-scrollbar 的使用

组件el-scrollbar在官方文档中没有介绍<template> <!-- 此例中页面渲染结果: <div class="box el-scrollbar"> <div class="wrap-class el-scrollbar__wrap"> <ul class="el-scrollbar__view view-class"> <li></li>

2020-12-19 15:10:20 506 3

原创 Vue 中使用 vuedraggable 拖拽

npm 下载:npm install vuedraggable --save引入:import vuedraggable from "vuedraggable";常用配置和事件<template> <div> <!-- v-model 绑定数据数组 可获取排序之后的最新数组 tag 指定vuedraggable渲染之后的标签类型,默认div group 组名--相同组名之间可拖拽。可传obj格式 .

2020-12-17 14:45:24 908 1

原创 Vue中使用 sortable 拖拽

npm 下载:npm install sortablejs --save引入:import Sortable from "sortablejs";创建实例Sortable.create(节点,{配置对象})常用属性及方法应用<template> <div> <!-- 单个列表拖拽 --> <h3>单个列表拖拽</h3> <ul ref="e1"> <li.

2020-12-16 20:03:09 460 2

原创 VUE + ElementUI 自定义指令实现el-dialog 拖拽功能

【代码】VUE + ElementUI 自定义指令实现el-dialog 拖拽功能。

2020-12-15 19:44:57 360 1

空空如也

空空如也

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

TA关注的人

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