自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (6)
  • 收藏
  • 关注

原创 本地环境配置自签名HTTPS证书

在本地使用的线上的https证书的话,每三个月需要更新一次比较繁琐,用本地证书也可以满足调试需求也会方便许多

2023-04-18 16:06:58 1349

原创 微信分享实现只显示分享给朋友或特定按钮

微信右上角打开的菜单很多在文档中并没有详细的展示,想要挨个屏蔽不太现实,所以只能反向操作,先借助隐藏所有非基础按钮接口这个功能API来屏蔽所有的功能按钮,再借助。微信最新的分享策略会导致通过链接进入网页的只能分享出来链接而不是之前的分享卡片。微信内要是分享过多被恶意举报为诱导分享的话公众号或域名被封的概率会很大,解封也很麻烦,所以我们需要及尽量的优化分享减少不必要的跟有风险的分享项,非必要项的例如:分享到腾讯微博,分享到朋友圈;风险项的例如:分享到QQ,分享到企业微信等可能还会让域名在这二者内被封禁;

2023-04-18 16:06:55 451

原创 移动端手机网页适配iPad与折叠屏设备

当前我们所采用的移动端适配方案是直接用 将视口的宽度设置为固定的设计稿宽度,在同样的宽度下iPad与折叠屏的高度要比手机小很多,所容纳的内容也少,导致某些区域被挤出了视口之外,简单来说就是我们的页面都是瘦长(即高大于宽)的,而折叠屏等设展开后是矮胖的(即宽大于高),二者完全相反页面放进来当然展示不全了。既然是iPad与折叠屏的宽高比跟手机差异过大导致的,那么在iPad与折叠屏上采用差异化的适配方案即可;所以我们可以通用检测宽高比,在iPad与折叠屏这种设备下不设置视口的宽度而是将页面设置为固定的值即可。

2023-04-18 16:06:42 926

原创 Web Workers JS多线程初探--使用Blob方式创建

worker浏览器兼容性现在还不错,导致其并不流行的原因我认为是因为在worker内不能直接操作 DOM 节点,也不能使用window对象的默认方法和属性并且worker运行的脚本与内部引用脚本都遵循同源策略(以下所有示例的脚本引用都默认基于此策略),导致只能运行一些纯计算类的脚本。

2023-04-18 16:06:21 343

原创 常用的一些校验规则(手机号,身份证号等)

校验规则我们经常用到,强业务性的校验很少有通用的库可以使用,一般都是搜索之后copy一个,但搜到的方法良莠不齐,各种实现方式都有,长期累积下来代码一致性可读性会非常差。判断类的优先字符串对比的方式实现;校验类依旧是正则实现但也尽量简洁;

2023-04-18 16:06:13 1228

原创 better-scroll.js 移动端滑动兼容

移动端滑动问题常见于iOS设备,可以先尝试通过增加css(例如:-webkit-overflow-scrolling: touch;)等方式来解决不行的话再使用插件来实际滚动。

2023-04-18 16:06:12 787

原创 js实现Base64编码(无+与=符号),缩短url链接参数

通常需要在地址栏拼接参数的话都会使用encodeURIComponent()来编码一下,兼容性很好但是当参数比较复杂的时候编码出来的字符串会很长。

2023-04-18 16:05:52 1270

原创 nodejs扫描文件夹搜索包含关键词文件,可灵活配置

搜索日志:search.log 注:只保留一次的,需要多次自行修改logFile配置即可;检测完毕后会在相同位置生成searchLog.txt保存结果;将代码放到需要检测的目录同级,在命令行运行即可;搜索结果:searchResult.txt。关键代码:search.js。

2023-04-18 16:05:51 1144

原创 获取设备分辨率与浏览器可用区域(兼容移动设备与桌面设备)

主要用于统计用户设备尺寸等信息 ie兼容至7。

2023-04-12 15:02:37 418

原创 videoPictureInPicture,视频画中画播放初探

从Chrome 70版本开始video元素开始支持画中画播放,简单写个demo体验一下

2023-04-12 15:01:58 789

原创 通过IntersectionObserver实现懒加载

通常懒加载等都会通过监听scroll事件用来判断元素位置来决定是否可以开始加载。性能开销是比较大的,为了节省性能又需要各种操作去弥补,例如用节流来减少判断次数等。IntersectionObserver API可以完全省去这些操作,只需要简单的读取即可。点击查看文档。

2023-04-12 15:00:44 454

原创 canvas.toDataURL生成图片报错的解决方案

解决图片的跨域问题需要前后的配合进行,测试进行时发现服务端是支持CORS跨域的,因此在前端设置下img的CORS属性即可,如果设置后不生效的话需要考虑下是不是由于请求资源都会在CDN服务器中缓存,所以设置后会存在不生效的情况。资源服务器给图片设置cors请求头允许跨域请求,前端设置图片的crossOrigin属性为anonymous来允许跨域,并且在图片后缀添加时间戳,防止请求CDN缓存资源;这个根据不同的系统有不同的表现,例如:生成完毕但控制台有warning类型的警告,或者直接异常报error。

2023-04-12 14:59:47 1604

原创 html2canvas生成图片问题汇总

绘制图片最好是在页面加载完毕之后进行,处理好图片跨域问题参考:[使用canvas生成图片跨域问题的解决方案](http://t.csdn.cn/rBWAq)

2023-04-12 14:58:07 1485

原创 安卓键盘弹出遮挡解决 保证输入框在可视范围

思路: 利用安卓键盘弹出收起会触发resize事件来进行相关操作, 在无滚动条的单页面直接用 window.scrollTo 重置下页面位置即可,在有滚动条的页面始终保证输入框在可视区域。由于上述所说的 ‘在有滚动条的页面始终保证输入框在可视区域’ ,导致输入框位置可能会变化,给人的感觉是输入框在跳位置一样(实际 scrollIntoView 是滚动到固定的位置)安卓键盘弹出会把窗口顶起来,但收起时又不会自动滚动回来,从而导致页面错位等问题;借鉴思路即可,还需要针对项目具体需求进行改造。

2023-04-12 14:57:37 372

原创 简单的前端分页实现

有些项目业务比较简单,但用到前端分页的地方又比较多,插件的体积比较难控制用起来也麻烦,所以自己写一个简易的。

2023-04-12 14:54:08 157

原创 如何记住观察者模式跟发布-订阅模式的区别

先说下如何简单粗暴的记住这二者之间的区别:观察者模式跟发布-订阅模式,记住发布-订阅模式直接的小横杠连接符即可。这个连接符就是观察者模式跟发布-订阅模式最大的不同,即是否经过中间人代理转发。但是观察者模式跟发布-订阅模式二者之间的关系其实谈不上异同,具体解析请看正文。

2023-04-12 14:53:53 157

原创 JS阿拉伯数字转汉字数字

最近做的项目的一个需求,看着很简单,但实现起来还是很有意思的,于是记录下来。只写了一百以内的,以上的自行拓展即可。

2023-04-12 14:41:05 726

原创 window.postMessage()接收不到信息(失效)的解决办法

最近在用postMessage做demo时候发现无论怎么都接收不到弹出页所发的消息,以为是弹出的方式有问题遂尝试改动了好几种弹出方式都不生效,最后查阅了MDN后发现标准的用法应当是

2022-10-26 10:34:47 4468

原创 通过分辨率区分iPhone型号(更新至13系列)

原理通过获取设备逻辑像素宽高(window.screen.width,window.screen.height)与DPR(window.devicePixelRatio)这三要素然后依据如下图进行判断(数据已查阅多方资料核对)。核心代码 function iPhoneModel() { var isIphone = /iphone/gi.test(navigator.userAgent); if (isIphone) {

2021-11-03 12:02:57 1014

原创 预约用里程碑式进度条与人数渐增效果

预约类型的活动常见的一个效果,若是里程碑点按进度条比例分割的话实现起来就很简单,只需要放在相应的百分比点位然后控制进度条长度即可,但要是里程碑值不是等比的还要均分进度条的实现起来就很麻烦了。

2021-10-15 10:53:23 99

原创 移动端兼容问题汇总

iPhone 6等老旧iOS设备不支持es6语法百度浏览器手机端开启广告过滤后(默认开启)不支持js中通过ajax请求方式请求另一个js文件, 例如 getTeamList: function () { $.ajax({ type: 'GET', url: './top32.js', async: false, dataType: 'json', succes.

2021-08-12 12:03:53 227

原创 图片或页面置灰(兼容IE10,11)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Do

2021-08-12 11:56:47 1804

原创 移动端横竖屏提示

/* 横竖提示处理 * isVertical:不传默认为false,即显示竖屏提示,(false: 提示用户横屏, true:提示用户竖屏) */ (function landscape(isVertical, config) { var showWay = isVertical ? "@media screen and (min-aspect-ratio: 12/7){#orientLayer{display:block;} }"..

2021-08-02 18:06:43 664

原创 移动端页面px布局适配方案(viewport)

通过 <meta name="viewport"> 给视口设置固定的宽度,浏览器对页面自动缩放来实现页面的适配效果优点是可以使用px布局,不用额外进行rem或者vw等等单位的换算了...

2021-08-02 18:01:37 156198

原创 nodejs读取excel并解析之后生成表

使用的库为:node-xlsx文档地址:https://www.npmjs.com/package/node-xlsxexcel文件内有几页sheet就会对应生成几页,可以用底部的示例数据试一下/** * @author 贾迎博 * @description * 快速导出压缩包 需要安装依赖 npm install node-xlsx --save * 这个库的文档地址 https://www.npmjs.com/package/node-xlsx * * @example 将需要.

2021-07-23 19:32:05 920

原创 移动端分页上滑加载瀑布流简易方案

上滑加载是移动端瀑布流的常用加载方式,实现方式还是非常简单的,没必要借助插件。一般都需要配合图片懒加载等优化方式一同使用,这里附上:,不用监听scroll事件就可以实现懒加载,很好的优化页面性能。

2021-07-21 17:13:30 671 3

原创 QQ分享文案设置

经测试有效代码如下<script src="http://qzonestyle.gtimg.cn/qzone/qzact/common/share/share.js"></script><script> setShareInfo({ title: '父爱,在你看不到的地方', // 分享标题 summary: '父爱如山,感觉不到只因身在此山中', // 分享内容 pic: 'http://qzonestyle.gtimg.cn/aoi/s

2021-07-16 15:16:40 433

原创 移动端H5网页调试之eruda

类似vconsole但更强的移动端调试面板;中文文档:https://github.com/liriliri/eruda/blob/master/doc/README_CN.md使用方式:cdn:<script src="//cdn.bootcdn.net/ajax/libs/eruda/2.3.3/eruda.js"></script><script>eruda.init();</script>......

2021-07-14 10:10:28 380

原创 移动端H5网页调试之vConsole

由于百度不太好搜索到vConsole的官方地址这里贴一下方便大家查阅。vConsole官方仓库简介地址:https://github.com/Tencent/vConsole/blob/HEAD/README_CN.mdvConsole官方中文文档地址:https://github.com/Tencent/vConsole/blob/89dfbae9df3e4d0d4920a38315634c28dbd92e54/doc/tutorial_CN.mddemo地址:http://wechatfe..

2021-06-03 14:52:40 477

原创 前端简易服务器之免费pages篇(可供项目预览手机访问电脑网页等)

几种方案本质其实都是启动一个简易服务器然后手机访问来实现的,一般来说使用webpackia脚手架搭建的项目都会自动启动一个服务所以并不需要使用这些方案再重复启动了,直接在config配置下host即可;相关链接:手机访问电脑网页的三种简单方法之vscode篇手机访问电脑网页的三种简单方法之杂项篇如果你购买了云端服务器的话就可以直接将代码部署到服务器端了,再使用分配的域名或者ip或者绑定自己购买的域名都可以访问,具体可以百度解决。此篇主要说下可以免费使用的远程方案,但也仅适用于简单网页;使用g.

2021-06-02 15:25:39 360

原创 前端简易服务器之杂项篇(可供项目预览手机访问电脑网页等)

几种方案本质其实都是启动一个简易服务器然后手机访问来实现的,一般来说使用webpackia脚手架搭建的项目都会自动启动一个服务所以并不需要使用这些方案再重复启动了,直接在config配置下host即可;相关链接:手机访问电脑网页的三种简单方法之vscode篇由于篇幅所限,此篇只简单介绍下几种环境的主力服务器,具体配置还请自行百度,有空的话我会再整理,有疑问的话欢迎留言,我会及时回复前后端分离的本地服务器方案nginx现在主流的服务器端的代理解决方案,优点很多,在本地使用最大优点是可以同时代理.

2021-06-02 14:45:07 105

原创 前端简易服务器之vscode篇(可供项目预览手机访问电脑网页等)

几种方案本质其实都是启动一个简易服务器然后手机访问来实现的,一般来说使用webpackia脚手架搭建的项目都会自动启动一个服务所以并不需要使用这些方案再重复启动了,直接在config配置下host即可方案一使用vscode插件Live Server来实现,安装插件启用后会直接启动一个服务只需要保持手机跟电脑在同一个网络环境下即可访问。具体步骤如下:打开vscode在扩展中搜索 Live Server 插件选择安装配置下插件的启动所使用的ip,在设置中搜索live在左侧菜单选择扩展&gt.

2021-06-02 12:08:12 2434

原创 使用Chrome的WebADB工具来调试手机

关于ADB可能移动端开发的同学会比较了解,通常都需要进行繁琐的环境配置如果需要在其他人的设备调试就比较麻烦了,chrome推出的WebADB可以不用安装任何依赖,直接连接手机

2020-12-22 14:53:15 8090

原创 安卓键盘弹出遮挡解决 保证输入框在可视范围 (未完成测试)

安卓键盘弹出会把窗口顶起来,但收起时又不会自动滚动回来,从而导致页面错位等问题借鉴思路即可,还需要针对项目具体需求进行改造。思路: 利用安卓键盘弹出收起会触发resize事件来进行相关操作, 在无滚动条的单页面直接用 window.scrollTo 重置下页面位置即可,在有滚动条的页面始终保证输入框在可视区域已知缺陷:1. 由于上述所说的 ‘在有滚动条的页面始终保证输入框在可视区域’ ,导致输入框位置可能会变化,给人的感觉是输入框在跳位置一样(实际 scrollIntoView 是滚动到.

2020-12-18 15:25:30 325

原创 如何复制全局安装的npm包到另一台设备

无网开发时总是需要手动将一些脚手架等从一台有网设备下载好后复制到无网设备,局部安装的依赖直接复制node_modules目录即可但全局安装的就需要按本文操作了1. 获取全局npm包安装路径可通过命令npm config get prefix查看 npm 安装路径(npm config set prefix 可设置 npm 安装路径);例如: 2. 准备复制在两台设备上执行上述命令获取npm安装路径后,分别打开响应路径,准备复制工作。将输出的路径复制到资源关联器即可直接打开响应路径,例:3..

2020-12-11 12:14:09 4059

原创 nodejs自动导出文件夹并生成压缩包

因为项目在内网svn上需要权限才能访问,因此每次跟第三方同步个别项目代码都很痛苦,试过git等方式,也不太理想第三方不一定熟悉操作还需要指导费时费力,因此使用nodejs封装一个插件,来自动导出项目压缩包,第一次使用需要修改下target里的目录地址,后续每次只需在命令行执行即可直接在桌面生成压缩包。

2020-11-09 11:30:04 2567 1

原创 html2canvas生成图片问题汇总

版本:html2canvas1.0.0-rc.4官网文档地址 <https://html2canvas.hertzen.com>参考项目地址:http://join-activity.changyou.com/tlhj/comments/20200912/m/share.shtml?shareid=1c1bebddbdc148438879c7c52a90b16c绘制图片最好是在页面加载完毕之后进行,处理好图片跨域问题参考:使用canvas生成图片跨域问题的解决方案若...

2020-09-24 15:48:12 2249

原创 覆写window下原生方法(例如alert)的兼容性问题

经测试验证覆写方法在PC安卓下所有平台生效,iOS下不生效,并且会导致原生方法失效。

2020-06-08 11:18:23 193

原创 JS阿拉伯数字转汉字数字

项目需求,需要转换下,只需要一百以内的,简单的写个小方法;主要思路就是把数字转换为数组下标来取出对应的汉字拼接一下/** * 转化中文数字 * @param {String} num 需要转化的数字 */var toChinesNum = function (num) { var changeNum = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十'], newNum = '', arr

2020-05-13 17:03:08 913

原创 纯js PC移动通用弹窗可以替代alert等

在项目中经常要使用一些提示来提醒用户操作状态例如 "活动结束","网络繁忙"等等,一般都是用 alert 或者 confirm 等来解决,但由于各个浏览器的默认样式差异还是比较大的特别是在移动端,所以写了一个简单的弹窗插件来代替alert,本来是打算直接覆盖window.alert但测试兼容性之后发现 iOS 系统下覆写不生效,所以只能另外命名。兼容性测试移动端安卓 iOS都正常运行,PC...

2020-04-28 12:18:49 439

dialog.js 前端JavaScript,简易的弹窗插件

dialog.js 前端JavaScript,简易的弹窗插件 用于弹出自定义的弹窗,内部对于常见的滚动穿透,输入法遮挡输入框都有相应的处理。 精简小巧,压缩后仅有5k.

2022-07-20

html2canvas_iPhone7P.js

为解决iPhone7P生成失败的版本

2022-06-30

预约用里程碑式进度条与人数渐增效果.rar

预约用里程碑式进度条与人数渐增效果

2021-10-15

html2cavas 1.0.0-rc.4

html2canvas rc4.0版本 此版本在ios13.3-13.6(github issue版本为13.3,实际测试时测试同学使用的13.6)可以正常生成图片

2020-09-24

myDialog.min.js

通用的前端弹窗插件,支持回调; 调用方法 Dialogs('无回调情况,当做只是提示,所以没有否的按钮') Dialogs('内容', function (a) { a为true是确认反之是关闭或者取消 } ‘标题’); Dialogs('(测试文字自适应,测试文字自适应,测试文字自适应,测试文字自适应,测试文字自适应)', '这是标题') 若传入回调函数则显示取消,点击取消按钮取消弹窗不执行回调;若不传入则不显示取消按钮; 原本打算覆盖alert方法但由于iOS设备下改写原生方法好像不生效 为了兼容 方法名改为Dialogs 桌面设备兼容到IE9

2020-04-28

base64.min.js

前端base64编码插件。 // 编码: Base64.encode() //解码 Base64.decode();

2020-04-27

空空如也

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

TA关注的人

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