自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ios 15 safari中使用websocket 挂起收不到数据

ios 15 safari中使用websocket 挂起收不到数据

2022-12-09 17:56:53 1220 1

原创 前端排查WebRtc黑屏记录

webview加载webrtc视频黑屏

2022-10-19 19:57:40 1825 1

转载 深入了解现代 Web 浏览器(第 4 部分)【合成器线程详解】

浏览器运行原理

2022-08-25 17:42:41 353

转载 深入现代浏览器(第三部分)【chrome 渲染器进程的内部工作原理 】

浏览器运行原理

2022-08-25 17:41:02 346

转载 深入现代浏览器(第二部分)【chrome 浏览器导航】

浏览器运行原理

2022-08-25 17:39:05 229

转载 深入现代浏览器(第一部分)【chrome 浏览器架构】

浏览器运行原理

2022-08-24 10:40:33 578

原创 到底是用yarn还是npm

用yarn 还是npm?

2022-06-15 18:25:58 701

原创 Flutter打包桌面端exe程序过程记录(二 webview_windows)

前言接上一篇在上篇文章中记录了使用flutter的准备工作,这篇记录一下,使用flutter时遇到的坑。由于flutter是跨平台,在移动端使用了webview工具,于是乎在桌面端也想使用webview,但是手机上自带了webview组件,windows系统可不是自带的webview,经过一番查找终于找到了windows上使用webview的插件。在flutter的社区,有很多关于webview的插件,但是能用在windows平台上的少之又少:官方库只有这两个用着还凑合,但是在windows上运

2022-05-24 18:03:23 1536 1

原创 Flutter打包桌面端exe程序过程记录(一)

配置flutter环境flutter环境配置可以按照网上的教程一步一步来配就行了,下面给出一些参考链接flutter环境配置步骤当你在命令行输入 flutter docker 完全检测成功了,那就可以进行windows桌面端打包了桌面端程序打包Visual Studio是必须要安装的用flutter打包windows exe程序按照网上的文章,当flutter docker 检测成功之后,还需要再配置go环境,其实,只要你到这一步,不用配置go环境,直接就可以打exe包了flutter ru

2022-05-24 16:12:51 3642

原创 javaScript如何对数字进行千分位展示

第一种,使用toLocaleString()var str = 12345678.98765;console.log(str.toLocaleString());输出结果,注意小数部分会被四舍五入第二种,自定义方法使用循环// 默认使用逗号分割 function numSplit(num){ var result = [],decimal=""; newNum = num.toString(); //判断是否是小数

2022-05-10 17:20:44 2092

原创 前端在发送请求的时候为什么要序列化数据的思考

记下这边文章是因为在前端工作了五六年,从来没有考虑过为什么在发送请求的时候需要序列化,感觉自己缺少深入思考的意识。序列化和反序列化名词解释:序列化,将数据结构或对象转换成二进制串的过程。反序列化,将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。(摘自网上文章)下面以最清晰的代码来解释一下吧:var obj = {name:"lily",age:10};var stringObj = JSON.stringify(obj);// stringObj 就是序列化之后的结果//相应的反序

2022-03-02 12:04:14 1772

原创 前端学习ffmpeg RTMP HLS协议记录

ffmpeg安装配置需要准备linux环境,本人主要从事前端工作,一直没有接触过linux,从公司业务开始做音视频开发之后,发现少不了需要linux环境来搭建各种测试工具,于是就花高价租了阿里云。。。。ffmpeg的安装放在了windows环境下ffmpeg官网下载对应的release版本,下载地址https://www.gyan.dev/ffmpeg/builds/下载之后选择一个目录直接解压,并配置ffmpeg的环境变量打开命令行 输入ffmpeg -version,输出ffmpeg版本即为

2022-02-22 17:49:27 3839

原创 js实现webrtc 视频通话中如何更改视频流

在webrtc p2p过程中一端视频流关闭开启实现记录需求背景1.首先开启A端的摄像头,在B端展示出A端的视频流(A发起呼叫,B接收,这一过程结束,两端建立了p2p通信)2.接着在B端开启本地摄像头,在A端展示B端的视频流,B端可以在视频过程中关闭掉自身摄像头3.开始思路,由于不是很熟悉webrtc原理,以为B端的操作需要再建立一条P2P通信,折腾了很久,最后理清思路,在#1两端建立了p2p之后,两端的peerConnect已经创建,B端只需要再发起一个offer,由B端发起呼叫,A端接收,还是一条

2022-01-04 22:26:03 2122

原创 记录Android加载webview时网络请求时好时坏的问题

记录此次调试背景非常简单的一个demo的apk,打开App,点击按钮打开一个webview的页面,页面的链接是在android代码中写固定的。所有的逻辑都在H5页面中,H5页面经过调试嵌入了App中。以上是App的背景(本人是前端开发,负责的是H5页面,H5页面做好就交到Android开发的手中了)。先说结果,webview的缓存导致H5页面的请求时好时坏。在一次测试中,突然发现H5页面不能正常的加载数据了,然后过了几分钟就正常了。初次偶现这种现象,只是觉得奇怪,没有深入查看究竟。紧接着又过了段时间开

2021-08-23 22:19:52 1626 3

原创 websocket断开状态分析

最近要做一个websocket 断开重连的优化,本以为很简单的一个改动,可是粗略写了一下代码发现事情并不简单。先介绍一下使用websocket的断开背景,由于不是很好确定websocket会在何时何地何种情况下断开,所以监听了close事件,以下是在close中执行的重连逻辑。 // 定义一个变量控制是否正在重连 if(this.reBEConnect) return; this.reBEConnect = true; // 设置延迟避免一直重连 setTim..

2021-05-20 18:40:25 1391

原创 css伪类处理技巧记录

处理ul li的左边框或者右边框问题我们经常会遇到一系列的list组合,要求加上,上下左右的分割线,但是这些分割线最后一个标签都不需要加分割线我之前最常用的做法就是先给每个li加上下边框,然后给最后一个去掉下边框<style> .li{ width: 200px; border-bottom: 1px solid #000; } .li:last-child{ border-bottom: non

2020-12-10 10:57:07 200 2

原创 react 请求配置

最近开始慢慢学习react,关于请求配置有以下几点记录,如有错误,恳请指正package.json中配置porxyporxy:"http://localhost:3001"这种方式只能配置一个代理setupProxy.js看网上有很多例子说要配置这个文件,但是这个文件是需要webpack提前预设好配置的,这里记录一下,也是配置setupProxy.js,再手动去注册一下//http-proxy-middleware 是node的代理模块,需要 npm install http-proxy-mi

2020-11-23 16:57:34 1374 1

原创 leaflet禁止缩放

禁止鼠标滚轮缩放map.scrollWheelZoom.disable();禁止拖拽map.dragging.disable();禁止双击缩放map.doubleClickZoom.disable()与之相对应的解除禁止使用map.scrollWheelZoom.enable()map.dragging.enable();map.doubleClickZoom.enable()...

2020-11-20 09:59:42 2046 2

原创 Elementui的Tree控件拖拽会改变默认选中的问题解决

可拖拽的tree<el-treeref="tree" :data="data" show-checkbox node-key="id" default-expand-all @check="check" @check-change="checkChange" @node-drop="handleDrop" draggable :allow-drop="allowDrop"></el-tree>data() { return {

2020-11-19 16:04:58 1736

原创 leaflet使用draw插件测量距离和面积

官网在线例子draw插件在线预览我的测量预览图:按照文档给出的例子,先引入这个插件,采用import形式import "leaflet-draw";import "leaflet-draw/dist/leaflet.draw.css";初始化使用插件//添加画图的提示信息 L.drawLocal.draw.handlers.polyline = { tooltip: { start: "点击地图开始画线", cont: "继续选择",

2020-11-18 15:56:05 5830 6

原创 vue中使用element tree 拖拽调整leaflet图层顺序(二)

tree渲染 <el-tree :data="layerList" show-checkbox node-key="id" :props="treeProps" default-expand-all :expand-on-click-node="false" :allow-drop="allowDrop" @check-change="checkChange" @node-drop="nod

2020-11-17 17:09:05 699

原创 leaflet添加鹰眼图,并切换鹰眼图(三)

添加鹰眼图鹰眼图是当成一个插件来使用的 github地址import MiniMap from "leaflet-minimap";//引入样式import "leaflet-minimap/dist/Control.MiniMap.min.css";let map = L.map('map')addMiniMap(options) {//鹰眼图的地址 var minilayer = new L.tileLayer.wms(options.mapUrl, { layers:

2020-11-17 16:50:33 2055

原创 leaflet 图层管理(增加 、删除 、显隐控制)加载4326坐标系的图层(一)

加载4326坐标系leaflet默认使用3857的坐标系,如果之前使用的是openlayers,会发现leaflet坐标写法和openlayers坐标相反,因为openlayers默认使用4326坐标系。1、加载4326坐标系的地图 const map = L.map("map", { center: [35.8374, 104.28225],//维度在前,精度在后 zoom: 4, minZoom: 1, maxZoom: 19, zoo

2020-11-17 16:35:29 7468

原创 从对象数组中一次删除多个元素

删除数组中元素的方法有delete,splice;这里先记录splicefunction bantchDelete (taskList,deleteTaskIds){ for (let i=0; i<taskList.length;){ let task = taskList[i]; //根据id删除 if (deleteTaskIds.indexOf(task.id)!==-1) { taskList.splice(i

2020-11-03 09:51:39 1157

原创 React学习记录第一节之高阶函数HOC

最近开始学习react了,之前也接触了react,但是没有系统的去学习,也没有思考react里面每个api的设计,也没有比较react和vue的异同,今天学习了react的高阶函数,下面就我自己的理解做一下记录。我对高阶函数的理解刚开始看这个概念的时候,翻翻文档,好长好长,丝毫不想往下阅读,但是无奈还要学,于是硬着头皮往下读把,把文档上的例子跑一遍,开始慢慢发现有点意思了。先定义好我们要使用的组件,这里我定义了一个CommenList组件,这个组件的作用就是接受一个值,并把这个值遍历做一下渲染,在这个

2020-08-30 14:54:53 247

原创 记录一下js和jquery获取属性值的问题

//原生jsdocument.getElementsByClassName('login-right')[0];dom.getAttribute('data-self');// =>获取属性 'data-self',如果存在则返回属性值 字符串的形式;如果不存在则返回 null//使用jquery$('.login-right').attr('data-self');// =>获取属性 'data-self',如果存在则返回属性值 字符串的形式;如果不存在则返回 undefined

2020-08-21 11:04:24 93

原创 ztree配置async异步加载子节点,展开不触发请求的问题解决记录

普通渲染方式如果是数据量不大,普通加载,按照ztree的数据格式,直接渲染就行//这是我自己使用的数据格式var zNodes = [ { childs: [ { directory: false, name: "cxptest", childs: [] } ], directory: true, name: "test", Path: "E:\test", id:01

2020-07-29 16:22:01 2114

原创 vue初始化过程的思维导图(记录学习源码的过程)

2020-06-15 18:24:55 660

原创 vue中使用openlayer6同时加载高德和百度(openlayers篇)

vue中使用openlayer6同时加载高德和百度//html<template> <div> <div id="map" ref="mymap"></div> </div></template>openlayer使用到的依赖import { Map, View } from "ol";import { Tile as TileLayer, Vector as VectorLayer } from "ol/

2020-06-03 09:32:09 2062 2

原创 关于使用openlayers6和leaflet同时加载高德和百度的问题记录(leaflet篇)

先说leaflet,leaflet 默认使用的坐标系是 EPSG:3857,百度地图:使用百度坐标系高德地图:火星坐标系(GcJ02)leaflet是默认支持GcJ02的,而且leaflet提供了这个插件L.tileLayer.chinaProvider ,可以引入高德、谷歌、天地图,不用经过转化。但是百度坐标就需要进行额外的转化:代码如下(本人只是个代码搬运工~~)/** * 百度地图底图调用插件 * @author 火星科技 木遥原创(qq:346819890) *///请引入 proj

2020-05-29 19:57:05 1403

原创 记载一次cesium加载近景天空盒的例子

参考文章链接先放一套天空盒的图片,从网上找了很久没有找到合适的,先放图片上图是已经旋转过的正确的方位图,具体天空盒的图片,具体方位对应可以 参考博客cesium天空盒方位对应//需要修改cesium skyBox的类,可以查看上面的参考文章里的完整js//下面贴出js中的使用代码var defaultSkyBox = viewer.scene.skyBox//GroundSkyBox 是重写的skyBox类,可以直接在html中引入使用,//注意如果是用的vue需要在 重写的sky

2020-05-26 18:52:22 1660 3

原创 mapbox图层的点击事件注册一次之后无法取消的问题

添加事件mapbox地图点击事件写法//和jQ一样使用on注册事件,第一个参数是事件类型,第二个参数是图层的id,如果不传这个参数,默认给地图添加事件map.on('click', 'layerId', function (e) {})注意事项:on注册事件,只能注册一次,如果是动态添加的事件需要注意一下,是否注册了多次,否则会造成多个事件同时执行,类似jQuery的on事件监听。取...

2019-12-23 16:20:51 3580 3

原创 记录web端地图使用的坐标系,以及wgs84转百度坐标的方法

记录web端地图使用的坐标系百度地图:使用百度坐标系高德地图:火星坐标系(GcJ02)(国测局规定使用的坐标系)COOGLE地图,mapbox地图,国外的地图,使用的 EPSG:4326也就是(WGS84)gps坐标以上如有错误,请帮忙指正...

2019-12-19 16:59:40 459

原创 使用 vue-router的keep-alive的一次踩坑记录

使用 vue-router的keep-alive的一次踩坑记录背景:vue项目,需要缓存某些页面中的一个页面,于是就想到了keep-alive,于是屁颠屁颠的拿来用了,简单的从一个页面跳转到另一个页面再返回,ok页面被缓存了,天真的我就把代码一通提交,第二天测试才发现原来keep-alive有坑。。。先放一段我的心路历程1、有三个页面A、B、C;B页面需要被缓存,其他页面不缓存,我在B页面的...

2019-12-19 16:52:55 636 5

空空如也

空空如也

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

TA关注的人

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