自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 HTML5基于flash实现播放RTMP协议视频

HTML5实现播放RTMP协议视频<!doctype html><html><head><meta charset="utf-8"><title>Video.js 7</title> <link href="css/video-js.min.css" rel="stylesheet"> <sty...

2019-05-30 08:57:05 31396 40

原创 关于跨域 Iframe 页面通信的问题总结

父页面嵌入子页面(不同域)parnet.html <iframe id="iframe" :src="'http://10.127.20.100:8080/index.html'></iframe>通信:父页面向子页面发送消息的方式:let contentWindow = document.getElementById('iframe').contentWindow contentWindow.postMessage('hi ~ my son!', 'http

2022-03-27 17:19:00 867

转载 帧是什么?

网络上的帧数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题 。数据帧Frame,数据链路层的协议数据(protocol data unit)单元。数据链路层的主要职责是控制相邻系统之间的物理链路

2021-06-22 20:14:33 7215

从输入URL到浏览器显示页面发生了什么

1、输入网址当你开始输入网址比如www.cnblogs.com时游览器就可以在书签或者历史记录里面去搜索相关的网址推荐给你。2、游览器查找域名的IP地址① 请求发起后,游览器首先会解析这个域名,首先它会查看本地硬盘的 hosts 文件,看看其中有没有和这个域名对应的规则,如果有的话就直接使用 hosts 文件里面的 ip 地址。② 如果在本地的 hosts 文件没有能够找到对应的 ip 地址,浏览器会发出一个 DNS请求到本地DNS(域名分布系统)服务器 。本地DNS服务器一般都是你的网络接

2021-06-18 10:12:39 162

转载 详解vue的diff算法原理

详解vue的diff算法原理我的目标是写一个非常详细的关于diff的干货,所以本文有点长。也会用到大量的图片以及代码举例,目的让看这篇文章的朋友一定弄明白diff的边边角角。先来了解几个点...1. 当数据发生变化时,vue是怎么更新节点的?要知道渲染真实DOM的开销是很大的,比如有时候我们修改了某个数据,如果直接渲染到真实dom上会引起整个dom树的重绘和重排,有没有可能我们只更新我们修改的那一小块dom而不要更新整个dom呢?diff算法能够帮助我们。我们先根据真实DOM生成一颗v.

2021-04-22 17:15:28 816 1

原创 关于不登陆微信如何傻瓜式查看记录

应用场景:包括但不限于,希望可以不动声色地给予家人更多的关爱设备:登陆过微信账号的电脑最近有发现.v.x已经对图片做了处理,去年看还是原文件格式(jpg,png等),现在好多都转成.dat格式...查看.v.x记录文件,.v.x的用户关联文件命名方式很傻瓜,所以全局搜索本机.v.x名就可以了:以上是模糊查询,实际.v.x用户文件命名方式是:account_用户ID进入文件夹:再进上一层:msg文件是聊天记录,里面都是db格式(应该是可以有工具解析的)file是文件

2021-04-21 08:40:03 9010

原创 React学习:初始化react (与vue比较)

1.安装并初始化node环境cnpm install -g create-react-app;create-react-app my-app;//版本是 react16.8+,函数组组件,新特性HOOK,允许我们不用编写class 也可以使用state,建议先看看菜鸟教程的,因为1小时就能看完了,react的性能和特点有个大致概念create-react-app 初始化的项目,集成了webpack(不对外暴露),如果需要定制化需要执行reject (自行百度)package..

2021-03-30 18:42:01 184

转载 浏览器事件循环机制

进程、线程进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。浏览器内核浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属于浏览器多进程中的一种。浏览器内核有多种线程在工作。GUI 渲染线程:负责渲染页面,解析 HTML,CSS 构成 DOM 树等,

2021-03-29 17:06:41 382

原创 2021年前端性能优化总结(持续更)

1.借助“多线程”进行数据的海量查询,避免页面卡顿当页面需要进行大量查询或者后端响应时间过长时,为了避免页面卡死以及保证用户体验,这个时候我们可以借助于web worker,实际上他是多进程(浏览器本身的运行机制就是单线程),示例: let worker = new Worker('./worker.js'); let data ={}; worker.postMessage({"cmd":"INIT","data":data}); worker.onmessage = f

2021-03-11 15:05:50 225

原创 electron学习:初始化electron项目

1.node环境,初始化项目 npm init -y2.安装electron (注意:不要使用npm 安装,使用cnpm安装!!!原因:npm源是国外的超级慢......)cnpm install electron --save-dev3.新建 main.jsconst {app, BrowserWindow} = require('electron');let win;function createWindow() { // 创建浏览器窗口。 win = new Bro.

2021-01-14 17:49:20 1006

原创 如何利用码云做自己的版本管理以及协作开发

选择码云的原因:国内的git 方便快速访问,缺点:国内的git大牛少(哈哈哈,我只是为了版本管理)步骤一:点击注册码云账号步骤二:自己安装本地的git 工具,右击出现:git bash here.....(安装步骤略过)步骤三: 点击加号选择新建仓库 查看自己的仓库步骤四:点击这个仓库:进入步骤五复制自己的git 地址:点击管理复制链接:在自己的电脑上新建文件夹,在所在位置右击git bash here ,依次...

2020-12-31 09:58:33 297

原创 解决基于flash下videojs卡顿/断网后接入网络后无法继续播放的问题

当断网的时候,很奇怪,并不会触发error监听的事件....于是乎我多方查看api,发现有个这种的方法:myPlayer1 = videojs(id, { autoplay: true, loop: true, controls: true,//控制条 muted: false,// 静音 preload: "auto",// 预加载 language: "zh-CN",// 初始化语言 playbackRates: [4, 5],// 播放

2020-11-10 16:40:26 1193

原创 web worker

今天实现轨迹查询,也不知道别人家怎么查的,和我对接的后台提供的查询接口,万条数据让我自己轮询查,好吧,每次查2000条,结果最差的居然要耗时5到7秒,如此循环,直接导致我的web页面卡死,无奈无法去搞定后台小伙伴,只能前台开个“多线程”。利用web worker!!worker.js:var totalCountStatus=-1;var param;var statusListAll=[];var linkListAll=[];function getAllUavStatus(p

2020-08-19 16:59:44 126

原创 解决openlayer6 绘制圆并获取半径的bug

方法:调用ol.interaction.Draw, on('drawend',function (evt) {evt.target.getRadius(); // 此方法获取到的半径并非真实的半径大小,甚至差值很大,// 多次查看文档和方法返回的属性值,我自己根据以下方法得出了半径:let sketchCoords_=evt.target.sketchCoords_[0]; let sketchCoords_2 =evt.target.sketchCoords_[1]; let ra

2020-08-17 11:54:13 1390 6

原创 纯前端集成视频会议和聊天室

准备:利用环信平台搭建服务进入https://console.easemob.com/user/login,创建自己的应用和IM用户,并创建聊天室复制自己的应用AppKey,以及聊天室id引用sdk <script src="./WebIMConfig.js"></script> <script src="./sdk/websdk3.1.4.js"></script> <script src="./sdk/EMedia.

2020-06-24 16:18:41 934

原创 解决海康视频插件错位以及点击页面出现闪烁的情况

此问题在我不屑的探索中终于摸清楚了!!首先博主的问题是由于多页面造成的,比如layadmin框架,海康视频插件错位的原因是因为主页面中嵌入的子页面都是以iframe的方式,我大胆的猜测海康视频是单页面的,因为它读取div元素的位值,以及style中的css属性,都是没有父级概念的。...

2020-05-06 17:20:44 3643 6

原创 规避后端服务,前端实现下载图片功能

主要利用的就是canvas的dataToURL()和a标签的download功能简单粗暴:<canvas id="canvas" width="300" height="300"></canvas><a id="dwl" href="" download="下载">下载</a><script> let canvas...

2020-04-29 17:08:13 283

原创 前端如何实现海康视频插件视频的拖拽和拉伸

HTML 代码:<div id="v_container"> <div id="dragBar"></div> <div class="cameras"> <div id="camera_hk"> </div> </div> </div&g...

2020-04-29 14:57:47 1811

原创 WebGIS的知识点和注意事项

坐标系关于地理坐标系,国际主流的标准时GPS坐标系(GPS叫做全球定位系统,由经度和纬度两个参数组成,在国际上,每个坐标系统都会被分配一个 EPSG 代码,EPSG:4326 就是 WGS84 的代码。GPS是基于WGS84的,所以通常我们得到的坐标数据都是WGS84的。一般我们在存储数据时,仍然按WGS84存储。WGS—84坐标),我们生活中用高德地图导航的时候,经纬度信息,都是基于国内的坐...

2020-04-29 14:45:19 449

原创 Openlayer 实现绘制自定义的多边形canvas图层

页面效果:

2020-04-29 12:06:24 741

原创 TCP连接过程

TCP三次握手和四次挥手过程ACK : Acknowledgement1、三次握手(1)三次握手的详述首先客户端发送连接请求报文,服务端接受连接后回复ACK报文,并为这次连接分配资源。客户端接收到ACK报文后也向服务段发生ACK报文,并分配资源,这样TCP连接就建立了。最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接,而B被动打开连接...

2019-12-13 10:55:06 947

原创 JS 精度丢失的问题

问题:0.1+0.2=0.30000000000000004console.log(0.1+0.2); //0.30000000000000004 console.log(2.2+2.2); //4.4计算机的二进制实现和位数限制有些数无法有限表示。就像一些无理数不能有限表示,如 圆周率 3.1415926...,1.3333... 等。JS 遵循IEEE 754规范,采用双精度存...

2019-11-11 16:14:58 212

转载 JS内存分配

简介每种编程语言都有它的内存管理机制,比如简单的C有低级的内存管理基元,像malloc(),free()。同样我们在学习JavaScript的时候,很有必要了解JavaScript的内存管理机制。 JavaScript的内存管理机制是:内存基元在变量(对象,字符串等等)创建时分配,然后在他们不再被使用时“自动”释放。后者被称为垃圾回收。这个“自动”是混淆并给JavaScript(和其他高级语言...

2019-11-08 16:03:30 211

原创 JS垃圾回收机制

1. 概述JS的垃圾回收机制是为了以防内存泄漏,内存泄漏的含义就是当已经不需要某块内存时这块内存还存在着,垃圾回收机制就是间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。C#、Java、JavaScript有自动垃圾回收机制,但c++和c就没有垃圾回收机制,也许是因为垃圾回收机制必须由一种平台来实现。在JS中,JS的执行环境会负责管理代码执行过程中使用的内存。2. 变量的...

2019-11-08 16:02:16 85

转载 常见的 JavaScript 内存泄露

内存泄漏:由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。1、意外的全局变量js对未声明变量会在全局最高对象上创建它的引用,(是以属性存在的,而不是变量),如果在游览器上就是window对象,如果在node环境下就是global;如果未声明的变...

2019-11-08 16:00:57 256

原创 JS浏览器事件循环机制

进程、线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。 线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。 浏览器内核 浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属...

2019-11-08 15:59:26 130

原创 ES6 解构赋值 总结

基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6 允许写成下面这样。let [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。本质上,这种...

2019-11-06 10:32:45 214

原创 前端鲜为人知的小东东--持续更新

1.谷歌控制台可以直接键盘打入全局变量名2.::selection{color:red;background:green;} 这行代码可以直接设置浏览器上用户选中的文本颜色是红色背景是绿色(默认是白字蓝底)3.div{user-select:none;} // 用户不能选中文本4.document.oncontextmenu=function(event){event.perentDe...

2019-11-05 10:43:29 105

原创 基于canvas的温度油压控件

效果:HTML代码:(引入控件js) <div class="fcow_instrument"> <canvas id="oillPresure" width="150" height="150"> &l...

2019-11-04 16:54:17 223

原创 null>=0为true但是null==0为false的原因

==运算的源代码11.9.3 The Abstract Equality Comparison Algorithm The comparison x == y, where x and y are values, produces true or false. Such a comparison is performed as follows: 1. If Type(x) is diffe...

2019-11-04 16:47:37 720

原创 ES6 Symbol 笔记

symbol 是es6语法下定义的第七种数据类型symbol,表示独一无二的值的意思,且申明一个symbol不能用new(前六种数据类型:基本数据类型:null,undefined,number,string,boolean,复杂数据类型:object)以前对象的属性名都是字符串,现在就可以是symbol类型了let sym1=Symbol("a"); // 不可以加new 关键字...

2019-10-31 17:49:21 132

原创 浏览器如何运作

浏览器的主要功能浏览器的主要功能是通过向服务器请求并在浏览器窗口中显示它来显示您选择的Web资源。资源格式通常是HTML,但也可以是PDF,图像等。用户使用URI(统一资源标识符)指定资源的位置。有关网络这一章的更多信息。浏览器解释和显示HTML文件的方式在HTML和CSS规范中指定。这些规范由W3C(万维网联盟)组织维护,该组织是Web的标准组织。浏览器的用户界面有很多共同点。常见的...

2019-10-29 14:39:03 389

原创 关于Chrome出现Provisional headers are shown无法正常访问的解决方案(其他firefox,360, IE访问正常)

电脑管家关闭,问题消失。。。。。哈哈,就是这么硬!

2019-10-11 14:24:10 427

原创 cesium 设置飞机的heading pitch roll(航向等)

cesium 设置飞机的heading pitch roll知识点普及:pitch是围绕X轴旋转,也叫做俯仰角,heading(yaw)是围绕Y轴旋转,也叫偏航角,(平行于z轴,就是水平旋转的,其他同理)roll是围绕Z轴旋转,也叫翻滚角,代码:var drone;var head=0;var pitch = 0.0;var roll = 0.0;//加载自定义的飞行器模...

2019-07-03 11:13:11 5215 2

原创 ceisum加载默认地形数据并解决401错误

加载ceisum默认地形数据var viewer = new Cesium.Viewer(‘cesiumContainer’, {terrainProvider : Cesium.createWorldTerrain({requestWaterMask : true,requestVertexNormals : true});});如果报错:401在前面加上var viewer 的...

2019-06-25 16:08:00 2077

原创 videojs-flash.min.js 报错 this.el_.vjs_getProperty is not a function

videojs-flash.min.js 报错 this.el_.vjs_getProperty is not a function没发现有什么好的解决方法,目前我的问题,就是切换页面的时候或出现这个问题,我猜测是因为this指向变了导致的,我的处理方法就是开个定时器,定时检测是否切换了页面。类似于截图:timeInterval=setInterval(function () { d...

2019-06-06 11:32:53 5340 2

原创 js实现页面随机生成验证码(验证码混淆)

效果截图:资源网盘路径:https://pan.baidu.com/s/1MLBjR5Vye80nPq8ezwtT2A提取码:ya1o

2019-04-10 11:26:44 519

原创 layui button按钮点击导致页面重新刷新的解决方案

把页面的标签替换为标签就行啦!

2019-04-10 11:12:24 3783

原创 jquery 无法触发a标签的点击事件导致页面无法跳转的原因与解决

解决方案:$("#aId").click(); 写法改为:parent.document.getElementById(“aId”).click();原因分析:jquery内部实现click或trigger方法时,并未真正模拟用户点击事件,只是模拟了事件对象及冒泡的触发,所有这个时候我们改为原生的js就可以了。...

2019-03-20 15:22:49 1268

原创 java解析xml遇到的问题

这边文章是我18年初写在有道笔记上的,搬过来有个想法就是把数据放在xml中而不放在数据库中大致做法以缓存的方式保存,定时读取xml文件内容作为每次缓存,在静态方法中用DocumentBuilderFactory遍历读取xml文件的文件流(InputStream)读取标签以及标签内容,本来想着doc.getDocumentElement().getChildNodes()直接根据下标遍历每一个...

2019-03-14 16:18:40 107

openlayersdemo.zip

openlayer 绘制自定义canvas图层,并解地图缩放的时候图层位置不一致的问题。

2020-04-29

js操作excel文件--导出

js导入excel表格或者导出为excel格式,用到的js文件xlsx.full.min.js资源

2018-12-08

空空如也

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

TA关注的人

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