自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Herbert的专栏

Herbert's blog

  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 TypeScript 之通用工具类型

这篇文章主要是记录个人在前端开发过程中,自己编写的 TypeScript 工具类型,在这里进行记录沉淀,分享给大家。会持续更新。

2023-06-08 15:52:16 120

原创 前端 Utils 工具方法沉淀(基于 TypeScript)

这篇文章主要是记录个人在前端开发过程中,自己编写的 Utils 工具方法,在这里进行记录沉淀,分享给大家。语言是基于 TypeScript 的,应该会一直更新。

2023-06-01 09:56:41 179

原创 Bizcharts 3.0 到 4.0 升级部分问题记录

问题Chart 组件Chart 组件 forceFit 属性改为 autoFit;Chart 组件新增 pure 属性,以前 3.0 的图表默认是简易图表(默认没有坐标轴、提示信息等等),新版 4.0 默认不是简易的图表,需手动加上 pure 属性才能和之前 3.0 一致,比如 Legend 图例之前 3.0 要配置 Legend 组件才显示,现在默认显示,除非设置 pure 属性为 true;Chart 组件 padding 属性不再支持数字和 ‘auto’ 混用,比如 [‘auto’, 10,

2023-05-05 16:06:20 592

原创 跨页面 history state 传递

背景最近,在开发过程中遇到了一个 history state 相关的问题。当新开标签页打开新的页面时,是无法传递 history state 的。问题样例比如说,下面这个跳转链接通过新开标签页打开,虽然提供了 state 属性,但是由于 history state 不能跨标签页传递,所以在新开的页面获取不到这个 state 的,设置也是白设置。import React from 'react';import { Link } from 'react-router-dom';function T

2021-06-04 19:07:19 3009

原创 React 重渲染防抖

React 开发过程中,通常在页面 DOM 节点特别多的情况下,会遇到 React 长时间同步渲染,导致交互和渲染阻塞,用户会感觉到页面卡顿。React 的 fiber 异步渲染就可以解决这个问题,但目前该特性仍然在实验阶段,还不能在生产环境中进行使用,所以目前只能通过一些优化手段进行优化。最近遇上了一个该类型的卡顿场景,就是一个组件更新数据时,会有多个请求,每个请求会触发组件的重渲染。而这个这个组件有个表格,表格分页大小为 200条/页,在下发数据比较多的情况,表格展示的 DOM 节点就多了。在多次重渲

2021-05-25 20:01:02 960

原创 熟悉Buffer

前言在引入 TypedArray 之前,JavaScript 语言没有用于读取或处理二进制数据流的机制。 Buffer 类是作为 Node.js API 的一部分引入的,以允许对 TCP 流、文件等二进制数据进行操作。本文所讲内容都基于 Node 的 v10.x 版本。Buffer 结构Buffer 是一个类数组对象,主要用于操作字节。下面我们从模块结构和对象结构的层面上来认识它。模块结...

2020-01-03 20:59:30 277

原创 插入换行

问题假如要实现一个类似如下图的一个定义列表,每一行都是一个名值对。HTML 代码结构如下:<dl> <dt>Name:</dt> <dd>Musk</dd> <dt>Email:</dt> <dd>[email protected]</dd> <dt>Lo...

2019-09-22 23:11:02 960

原创 V8 的垃圾回收机制

前言我们知道使用 JavaScript 进行编程时,内存是有垃圾回收机制进行自动管理的,开发者不用像 C/C++ 程序员那样在编写代码时要关注内存的分配和释放。这在短时间执行的场景比如网页应用是能够基本应付的,这些场景执行时间短,随着进程退出,内存就会被释放。但随着 JavaScript 的使用场景延伸到 Node 服务端,这种长时间使用的场景就对内存管理的提出了更高的要求,内存管理的好坏,对...

2019-07-02 10:21:10 278

原创 百分号编码(Percent-Encoding)

百分号编码(Percent-Encoding)也被称为 URL 编码,是一种编码机制。该机制主要应用于 URI 编码中,URI 包含 URL 和 URN,所以它们也同样适用。除此之外,也用于 MIME 类型为"application/x-www-form-urlencoded"的内容。百分号编码会对 URI 中不允许出现的字符或者其他特殊情况的允许的字符进行编码,对于被编码的字符,最终会转为以百...

2019-04-22 00:16:57 8641

原创 Node 模块引入

Node 模块引入Node 模块引入主要会经历如下3个步骤:路径分析文件定位编译执行在 Node 中,模块分为核心模块和文件模块。核心模块是 Node 提供的模块。其中部分模块在 Node 源码编译时直接生成二进制执行文件,在 Node 进程启动时被加载到内存中,因此当这部分模块引入时,会只直接跳过文件定位和编译执行,且在路径分析中优先判断,它的加载速度最快。文件模块是用户编写的...

2019-02-10 21:37:54 642

原创 Edge 浏览器 URLSearchParams bug 修复

背景URLSearchParmas API 为 URL 的查询字符串(query string)提供了方便操作的接口,管理端的项目大多都应用了该接口,但这个 API 因为部分浏览器没有实现(如 IE 和旧版 Edge,详见),所以引入了相应的 polyfill(github.com/WebReflection/url-search-params )进行支持,npm 包名为 url-search-...

2018-12-11 09:44:54 982

原创 vue-i18n 和 element-ui 国际化

vue-i18n 和 element-ui 国际化基于vue 的项目国际化可以使用 vue-i18n 插件来实现。element-ui 自身已有国际化的实现,且可以通过修改 i18n 方法兼容其他国际化插件。资料vue-i18n 文档element-ui 国际化文档:vue-i18n 构建在 vue 项目的 src 目录构建如下 i18n 目录。|___ ...

2018-07-04 16:26:02 2616 2

原创 HTTP Basic 认证

HTTP Basic 认证Basic 认证是 Web 服务器于客户端之间进行认证的一种方式, 最初是在HTTP 1.0 规范(RFC 1945)中定义,后续的有关安全的信息可以在HTTP 1.1规范(RFC 2616)和HTTP认证规范(RFC 2617)中找到。Basic 认证过程当客户端请求了需要进行 Basic 认证的资源,服务器就会返回带有 401 unauthorized...

2018-06-11 00:12:55 11689

原创 基于 HTTP 的实时 Web 通信

基于 HTTP 的实时 Web 通信Web 应用的信息交互过程通常是客户端通过浏览器发出一个请求,服务器端接收和审核完请求后进行处理并返回结果给客户端,然后客户端浏览器将信息呈现出来,这种机制对于信息变化不是特别频繁的应用是能够满足的,但是对于那些实时要求比较高的应用来说,当客户端浏览器准备呈现这些信息的时候,这些信息在服务器端可能已经过时了。所以保持客户端和服务器端的信息同步是实时 Web ...

2018-03-27 15:27:24 6260

原创 前端响应式框架对比

前端响应式框架对比对比日期:2017-04-20 Bootstrap Semantic UI Foundation UIkit 对比版本(最新版本) 3.3 2.2 6.3 3.0 Github stars 109600 34167 25289 9040 依赖JavaScript库 JQuery JQuery jQuery

2017-07-28 13:31:49 1469

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-07-28 13:10:59 201

原创 MacOS原生开启移动硬盘NTFS文件系统写功能

MacOS原生开启移动硬盘NTFS文件系统写功能说明当你需要在MacOS和Windows系统之间进行文件传输时,一般会选择使用移动硬盘。而移动硬盘一般可使用的文件系统有HFS+、MS-DOS、exFAT、NTFS等等,各文件系统各有的优缺点,综合起来NTFS格式会比较好。而使用NTFS文件系统的话,MacOS一般只支持该文件系统的读功能,而无法使用写功能,但是通过配置可以使其开启写功能。

2017-01-10 15:24:12 2484

翻译 JavaScript内存泄漏

在JavaScript中,我们很少考虑内存管理。我们创建变量,使用它们,并由浏览器去负责处理底层的细节,这看起来似乎挺自然的。但是随着应用程序变得复杂,以及访客长时间在网页停留,我们可能会注意到一个浏览器需要占1G以上的内存,并且还不断的增长。这通常就是发生了内存泄漏。

2016-09-24 20:57:36 637

原创 基本排序算法的JavaScript实现

最近,复习了一下基本的排序算法,以前在校使用C语言实现的,现在由于自己做的是前端开发,所以就动手使用JavaScript实现了一些基本排序算法。

2016-08-24 16:33:19 392

原创 Sass编写实现loading图标

Sass编写实现loading图标。

2016-06-17 17:10:35 598

原创 解决浏览器background-image属性不支持css3动画

最近在使用background-image属性来实现css3的逐帧动画时,碰到了个问题。在chrome浏览器上,background-image属性是支持css3动画的,但是到了firefox上,就完全看不到任何动画。通过网上查找,才发现W3C标准中明确background-image属性是不支持动画的。

2016-05-24 12:20:30 4911

原创 总结关系型数据库三范式

总结数据的基本的范式,便于记忆。第一范式:原子性。字段不可分再拆分(关系型数据库最基本要求);第二范式:唯一性。实体的属性完全依赖于主键(例如货物订单表、选课表);第三范式:传递性。非主属性不依赖其他非主属性,即非主属性之间不能存在依赖传递。

2016-01-11 12:03:42 373

原创 PHP页面跳转与页面重定向详解

页面重定向一定会有页面跳转,页面跳转不一定会有页面重定向,也就是说页面重定向真包含于页面跳转,页面重定向是页面跳转的充分不必要条件。

2015-10-16 16:10:35 19992 2

原创 JavaScript实现页面下拉刷新

一个简单的JavaScript实现的页面下拉刷新插件。

2015-09-16 10:07:46 7022 3

原创 JavaScript移动端模拟confirm()方法

在移动端HTML5页面中,由于confirm()这个原生方法弹出框不太好看,且在各浏览器或WebView的样子不统一,我们一般会自行实现一个模拟该方法的弹出框。而且这个是一个使用频繁的方法,所以可以用JavaScript把它封装起来,便于调用。

2015-09-10 17:38:26 8330

原创 JavaScript移动端模拟alert()方法

在移动端HTML5页面中,由于alert()这个原生方法弹出框不太好看,且在各浏览器或WebView的样子不统一,我们一般会自行实现一个模拟该方法的弹出框。而且这个是一个使用频繁的方法,所以可以用JavaScript把它封装起来,便于调用。

2015-09-09 16:35:51 7689

原创 移动端Retina屏实现1px的边框

移动端具有Retina屏的设备在显示CSS为1px的边框时,实际显示2px。这个问题可以通过CSS伪对象和CSS3的转换属性来模拟实现。当JavaScript检测到移动设备为Retina屏时,就去掉原来的边框,并添加相应的CSS进行模拟实现。

2015-09-01 18:18:56 597

原创 移动端CSS Reset

我的移动端CSS Reset,后续会更新。

2015-08-19 15:18:32 1146

原创 解决模拟弹出框情况下文档滚动的问题

用div元素来模拟弹出框很普遍,它可以自行定制各式各样的弹出框。弹出框一般用的是fixed绝对定位,也就是相对于浏览器窗口定位。在文档高度大于窗口高度的情况下,弹出框会存在一个问题。当弹出框在显示的时候,滚动鼠标(PC端)或滑动页面(移动端)会导致文档滚动。还有在弹出框的高度也大于窗口高度时,滚动鼠标或滑动页面会先滚动弹出框,直到滚动条到头或到尾时,继续滚动弹出框仍然会导致文档的滚动。

2015-08-13 17:26:01 992

原创 解决移动端页面滚动后不触发touchend事件

在移动端页面进行优化时,一般使用touch事件替代鼠标相关事件,用的较多的是使用touchend事件替代PC端的click和mouseup事件。但是,touchend事件在页面滚动时有个问题。在滚动完成后,如果当前触点的位置所指的元素绑定了touchend事件,这时便会触发该元素的touchend事件,造成误操作。解决方法是在滚动时就给停止touchend事件冒泡。

2015-08-12 16:53:13 12370 5

原创 CSS3动画实现loading加载图标

CSS3动画实现loading加载图标,并利用JavaScript封装成插件,方便以后调用。

2015-08-03 16:34:52 1981

原创 HTML5 Canvas实现图片擦除效果

HTML5 Canvas实现图片擦除效果,该效果主要应用了canvas的globalCompositeOperation 属性值实现。

2015-08-03 15:54:55 4164

原创 基于PHP文件操作实现页面统计

假如页面统计只需要记录统计数值,不记录其他具体的数据时,这时没有必要使用数据库进行记录,可以直接将统计数值存放到文本文件中。当然,这不是最好的方式,不过这是最简单的方式。

2015-07-28 11:23:54 1045

原创 JavaScript实现页面图片预加载

使用图片预加载可以在确保必要的图片加载完后,就显示页面,而不必等所有的图片加载完再显示页面,提升用户打开页面时的用户体验。

2015-07-27 14:54:58 1101

转载 phpredis文档

phpredis是php的一个扩展,该扩展的api基本与redis客户端的命令一致,对redis客户端命令熟悉的人能够快速上手。

2015-07-14 21:07:25 418

原创 使用JavaScript和Canvas实现下雪动画效果

该下雪动画效果使用了HTML5中Canvas画布实现,其中涉及了物理学中曲线运动的相关知识与运算。

2015-07-14 15:46:21 1848

原创 JavaScript封装Ajax(类JQuery中$.ajax()方法)

ajax.js(function(exports, document, undefined){ "use strict"; function Ajax(){ if(!(this instanceof Ajax)) return; return this; } Ajax.prototype = { init: functi

2015-07-02 16:46:14 880

原创 JavaScript实现获取动态密码倒计时效果demo

demo动态密码倒计时效果demo html, body{ width: 100%; /*max-width: 640px;*/ height: 100%; overflow-x: hidden; margin: 0 auto; background-color: #cf121c; font-famil

2015-06-25 18:14:27 979

原创 HTML5移动开发常用meta标签

html

2015-06-25 15:18:25 538

原创 HTML5自动播放背景音乐

htmljavascriptvar bgmusic = document.getElementById('bgmusic');bgmusic.addEventListener('canplay', function(){ this.play();}, false);window.addEventListener('load', function(){ window.a

2015-06-25 15:13:03 24701 7

JavaScript封装Ajax

JavaScript封装Ajax,实现类似JQuery的$.ajax()方法。

2015-02-05

php_excel_reader

php_excel_reader,可实现php导入excel到数据库。

2015-01-27

空空如也

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

TA关注的人

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