初探富文本之基于虚拟滚动的大型文档性能优化方案 虚拟滚动是一种优化长列表性能的技术,其通过按需渲染列表项来提高浏览器运行效率。具体来说,虚拟滚动只渲染用户浏览器视口部分的文档数据,而不是整个文档结构,其核心实现根据可见区域高度和容器的滚动位置计算出需要渲染的列表项,同时不渲染额外的视图内容。虚拟滚动 ...
从零学习Vue.js 目录 引言 准备工作 Vue.js 基础 3.1 Vue 实例 3.2 模板语法 3.3 数据绑定 3.4 计算属性和侦听器 3.5 Class 与 Style 绑定 3.6 条件渲染 3.7 列表渲染 3.8 事件处理 3.9 表单输入绑定 Vue.js 组件 4.1 组件基 ...
一、背景 在日常布局中,无论是两栏布局还是三栏布局,使用的频率都非常高 两栏布局 两栏布局实现效果就是将页面分割成左右宽度不等的两列,宽度较小的列设置为固定宽度,剩余宽度由另一列撑满, 比如 Ant Design 文档,蓝色区域为主要内容布局容器,侧边栏为次要内容布局容器 这里称宽度较小的列父元素为 ...
XML Web服务是基于WSDL、SOAP、RDF和RSS等标准的网络应用程序组件技术。WSDL描述服务接口和消息格式,SOAP用于结构化信息交换,RDF描述网络资源,RSS则用于发布网站更新。Web服务特点是自包含、自描述,基于开放协议,可重用且能连接现有软件。WSDL文档包含`types`、`m... ...
一、是什么 单例模式(Singleton Pattern):创建型模式,提供了一种创建对象的最佳方式,这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建 在应用程序运行期间,单例模式只会在全局作用域下创建一次实例对象,让所有需要调用的地方都共享这一单例对象,如下图所示: ...
为什么会突然想到写这么一个大杂烩的博文呢,必须要从笔者几年前的一次面试说起。当时的我年轻气盛,在简历上放了自己的博客地址,而面试官应该是翻了我的博客,好几道面试题都是围绕着我的博文来提问。其中一个问题,直接使得空气静止了五分钟,也是自从那次面试,我告诉自己,工作实战中总结的经验,一定要知其然知其所以... ...
Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 以下2个方法源自于时间工具包:time utils 效果展示:在线时间戳转换工具 时间转时间戳 /** * 将某个时间转化成时间戳 * 时间格式:2019-05-20 00:00:00 或 2019年5月1 ...
1、需求描述 我们日常在使用ECharts实现曲线图或柱状图的时候,x轴上的坐标都是等距离显示的。 有时候我们可能有这个需求: x轴上的坐标距离按照对应数据的比例进行显示。 打个比方,假设x轴上有5个点,正常情况下,我们每个点之间的距离都是30px。 这不是我们想要的效果,我们想要的效果是,第一 ...
目录前端平台搭建(Vue2.6,App:HBulderX)创建Vue2.6项目下载相应插件方便开发路由配置对连接后端进行一些配置(main.js文件)导入ElementUI组件组件 | Element同步与异步axios异步请求框架 前端平台搭建(Vue2.6,App:HBulderX) 创建Vue ...
一、场景复现 一个经典的面试题 0.1 + 0.2 0.3 // false 为什么是false呢? 先看下面这个比喻 比如一个数 1÷3=0.33333333...... 3会一直无限循环,数学可以表示,但是计算机要存储,方便下次取出来再使用,但0.333333...... 这个数无限循环,再大的 ...
效果预览 视频画面 网络请求 代码实现 ZLMRTCClient.js 当前使用的版本: 1.0.1 Mon Mar 27 2023 19:11:59 GMT+0800 首先需要修改 ZLMRTCClient.js 的代码,解决由于网络导致播放失败时无法触发 WEBRTC_OFFER_ANWSER_ ...
什么是 KeepAlive? 用过 Vue 的童鞋都知道 Vue 官方自带了 Keep-Alive 组件,它能够使组件在切换时仍能保留原有的状态信息,并且有专门的生命周期方便去做额外的处理。该组件在很多场景非常有用,比如: tabs 缓存页面 分步表单 路由缓存 我们先看看 Vue 中是如何使用的, ...
一、 是什么 Node作为一门服务端语言,性能方面尤为重要,其衡量指标一般有如下: CPU 内存 I/O 网络 CPU 主要分成了两部分: CPU负载:在某个时间段内,占用以及等待CPU的进程总数 CPU使用率:CPU时间占用状况,等于 1 - 空闲CPU时间(idle time) / CPU总时间 ...
1️⃣ 原因 由于是一个比较老的项目,所以在做功能时,用到了老项目的一个控件,这一个控件是以前封装好的,依赖的是jquery-1.6.min.js。但是在做下拉框多选功能时,在网上找了一个下拉框多选的框架,但是这个框架依赖是jquery.js(3.7.1),所以才出现了这个问题。 简单来说就是新老控 ...
1、是什么 pointer-events 直译为指针事件,该属性指定在什么情况下某个DOM可以成为鼠标事件的 target。 简而言之,就是允许/禁止DOM的鼠标事件(click事件、hover事件、mouse事件等鼠标事件) 2、具体属性分析 用法分析:pointer-events: auto | ...
前言 众所周知,当子组件使用setup后,父组件就不能像vue2那样直接就可以访问子组件内的属性和方法。这个时候就需要在子组件内使用defineExpose宏函数来指定想要暴露出去的属性和方法。这篇文章来讲讲defineExpose宏函数是如何暴露出去这些属性和方法给父组件使用。注:本文中使用的vu ...
最近在做鼠标框选的需求,鼠标框选就需要用到 Range 和 Selection 对象。
Range 表示选择的区间范围,Selection 表示选择的文档内容。
Range 接口表示一个包含节点与文本节点的一部分的文档片段。
不仅仅可以用于鼠标框选,页面上任何元素、文本都可以创建 Range。
Se... ...
一、递归 递归(英语:Recursion) 在数学与计算机科学中,是指在函数的定义中使用函数自身的方法 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数 其核心思想是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解 一般来说,递归需要有边界条件、 ...
一、用途 可视区域即我们浏览网页的设备肉眼可见的区域,如下图 在日常开发中,我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值(例如 100 px),从而实现一些常用的功能,例如: 图片的懒加载 列表的无限滚动 计算广告元素的曝光情况 可点击链接的预加载 二、实现方式 判断一个元素是否 ...
文章关注JavaScript中async/await的异常处理,指出未捕获异常的潜在风险。1)使用try-catch,虽全面但冗余;2)借助Promise的catch,减少冗余; 3) 利用await-to-js库简化异常处理 ...