js 函数节流与防抖
js 不必要的事件频繁触发是很大的开销,可以通过节流或防抖函数来控制发生频率
以页面滚动事件为例123document.getElementById('body').onscroll = function () { console.log('频繁执行');};
节流(连续事件,固定时间内只执行一次)1234567891011var doNext = true;document.getElementById('body').onscroll = function () { if (!doNext) { return; } setTimeout(function () { console.log('函数节流'); doNext = true; }, 300); doNext = false;};
防抖(间隔不超过规定时间的连续事件,只在最后一次生效)1234567var timer = fals ...
jquery 点击元素之外的区域
元素之外点击
1234567// 元素外点击$(document).bind('click', function (e) { var target = $(e.target); if (target.closest('#notThis').length == 0) { console.log('点击document(排除id为notThis地方)触发', target); }});
编辑文章✏
使用IIS的HTTP重定向功能设置真正的301重定向(带query参数)
通过 Windows 的 IIS 服务器 自带的 HTTP 重写向功能,设置网站的 301 重定向,把 http 统一转到 https,把不带 www 的统一转到 www
在 IIS 配置真实网站的绑定域名,只绑定 https:www 的域名 ,如下
在新建一个空的网站(指向一个空文件夹,起名 301,便于识别),把其它的请求都绑定在这个网站上,如下
对这个 301 网站设置【http 重定向】,如下:
注意:
1、请求目标写 https:www.域名$S$Q ($S$Q 是用来精准(带 query 参数)重定向的)
$S ——传递 URL 的后缀到新的 URL;
$P——传递 URL 中的 query 参数到新的 URL,不包括问号(?)
$Q——传递 URL 中的 query 参数到新的 URL,包括问号(?)
$V——传递请求的 URL,但是不包括服务器名和任何参数。
2、将重定向行为,第一个 将所有请求重定向到确切目标(而不是相对于目标) 打勾。(因为我们写的请求目标 URL 已经是精确的了,不是相对的)
编辑文章✏
Chrome 开发者工具各种骚技巧
Chrome 开发者工具各种骚技巧
chrome 开发者工具各种骚技巧chrome 开发者工具各种骚技巧 - 掘金
List of all tipsDev Tips - Developer Tips by Umar Hansa
编辑文章✏
MySQL数据库保存Emoji表情
MySQL 默认编码一般只支持 1-3 个字节,而 emoji 是 4 个字节,需要将字段编码改为 utf8mb4 ,并且 utf8mb4 是兼容 utf8 的。
网上教程网上教程一般都需要修改 mysql 的配置文件(数据库连接的默认编码)、数据库编码、表编码、字段编码 都设置为 utf8mb4。
按需求更改如果你只是一个表的一个字段需要储存 Emoji,其实只需要修改这个字段的编码为 utf8mb4 即可
注意数据库连接如果在 mysql 的配置文件已经设置了连接的默认编码,需要把代码里的连接设置去掉
如果仅按需求更改字段的编码,其它地方配置没有修改,需要在代码里设置连接编码为 utf8mb4。以 PHP 代码为例
1mysqli_set_charset( $con , 'utf8mb4' ); //有在mysql的配置文件已经设置了连接的默认编码,需要把代码里的连接设置去掉
编辑文章✏
VUE 前端笔记:使用 v-charts.js百度地图 实现电子围栏手机定位打卡
使用 v-charts.js 百度地图 实现电子围栏手机定位打卡
1、设置一个公司的经纬度
2、设定打卡半径(圆形电子围栏)
3、时时获取定位
4、计算定位到公司的直线距离
5、对比 打卡半径>直线距离,打卡成功
编辑文章✏
VUE 前端zxing-js生成二维码DEMO
vue 框架 调用 zxing.js 插件生成二维码,可在中间添加 LOGO,可调整容错率
DEMO 源码:https://github.com/ZhengXinquan/demo
zxing.js 官网:https://github.com/zxing-js/library
DEMO
1
编辑文章✏
VUE 前端zxing-js调用摄像头扫码DEMO
vue 框架 调用 zxing.js 插件调用摄像头扫码 DEMO
项目地址: https://github.com/ZhengXinquan/demo
zxing-js 官网地址:GitHub - zxing-js/library: Multi-format 1D/2D barcode image processing library, usable in JavaScript ecosystem.
浏览器需要支持 WebRTC
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 ...
vue地图组件(v-charts百度地图)的使用DEMO
v-charts 封装了一个百度/高德地图的‘壳子’,在 settings 中添加关于图表的配置(key,bmap,amap),在组件上直接设置 series, tooltip 等,便可生成以百度/高德地图为坐标系的 Echarts 图表。
官方文档:v-charts
百度地图 API:jspopularGL | 百度地图 API SDK
AK 申请时,选择浏览器类型的 JavaScript API
Demo
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281 ...
VUE图表插件
【记录】vue 使用图表的两种插件,echart.js 图表不渲染显示的一种可能,图表空白的解决方案
echarts
官方文档地址:Documentation - Apache ECharts
a. 官方初始化 echarts 实例
1<div id="main" style="width: 600px;height:400px;">div></div>
1var myChart = echarts.init(document.getElementById('main')
b. 在 VUE 中,推荐使用 ref 获取 dom,以保证渲染完成
1<div ref="main" style="width: 600px;height:400px;">div></div>
1var myChart = echarts.init(this.$refs.main);
c. 如果不添加标题、图例等,原来的图位置会有空白出现,可使 ...