
javascript
文章平均质量分 88
javascript相关的文章
shuxiaohua
这个作者很懒,什么都没留下…
展开
-
大文件下载避坑-FileReader#readAsDataURL window.URL#createObjectURL
背景随着互联网的发展,目前国内越来越重视安全问题,后端除了身份认证外,还会进行csrf攻击防护;导致下载文件的时候不能通过一个指定url的a标签下载文件。因为csrf防护一般是加一个固定头,浏览器访问的时候只能自动带上cookie及其他一些浏览器内置的头,csrf-token没办法自动带过去,无法通过服务端的校验。目前常规的方法,是通过ajax请求后端内容,然后动态生成a标签进行下载。 var xhr = new XMLHttpRequest(); xhr.open("GET", "ht原创 2022-02-22 14:53:53 · 3762 阅读 · 5 评论 -
浏览器非活动页定时器执行频率下降问题
背景客服系统需要检测坐席是否下线,否则服务端将进线分配给离线的坐席,消费者得不到坐席的回应,影响消费者体验。系统为了检测消费者是否下线,增加了心跳逻辑,页面每2秒上报一次心跳。服务端30秒内未收到心跳,就认为坐席下线。现网偶发坐席不断切换状态(上线->下线->上线->下线…)经定位现代浏览器为了省电,当页面切到后台(非当前活动页),5分钟后浏览器会降低js定时器的执行频率(1分钟一次)。导致心跳机制受到影响。该设计具体可以google(Throttling Javascript T原创 2022-01-21 20:00:05 · 3072 阅读 · 0 评论 -
vscode通信协议
概述Vscode渲染进程与插件是运行在不同的进程中的,为了能访问插件的功能,两者之间必须建立通信通道。Vscode使用的是socket进行进程间的通信,因为是在本地进程间通信,而且TCP/IP协议栈更复杂,为了提高效率,使用了文件协议的socket。Windows上采用命名管道,类unix系统上采用UNIX 域。由于socket是面向字节流的,需要定义应用层协议,来使双方识别通信报文。协议介绍一般通信协议会规定以下两种结构:报文的开始与结束标识,如果报文body出现了相同的标识是需要做转义的。原创 2020-11-10 14:44:37 · 1066 阅读 · 0 评论 -
javascript typeof instanceof的区别
typeoftypeof用于计算一个变量的类型,javascript包含5中基本类型和引用类型NumberStringUndefinedBooleanNull引用类型typeof就是判断变量是属于javascript中的那种变量类型Null代表空指针,所以归到Object中了虽然函数与普通值对象对javascript来说都属于对象,但是两者的功能及用途不一样,所以typeof区分了两者综上typeof的值为number,boolean,string,function,objec原创 2020-09-24 11:06:09 · 173 阅读 · 0 评论