![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
前端菜菜
http://my.csdn.net/#前端菜菜
展开
-
xlsxStyle + xlsx.full.min 导出数据,并设置导出样式
前端导出数据 以及自定义样式原创 2022-11-08 09:50:03 · 1130 阅读 · 0 评论 -
for await of
for await of原创 2022-08-04 10:27:15 · 152 阅读 · 0 评论 -
前端转csv blob createObjectURL
blo转 表格数据原创 2022-07-06 17:24:51 · 336 阅读 · 0 评论 -
谷歌浏览器插件content_scripts、background、popup通信
前期页面准备manifest.json|content_scripts : 浏览器里面使用的,和页面共享DOM,不共享JScontent-scripts不能访问绝大部分chrome.xxx.api,除了下面这4种: chrome.extension(getURL , inIncognitoContext , lastError , onRequest , sendRequest) chrome.i18n chrome.runtime(connect , getManifest , ge.转载 2022-05-25 11:22:59 · 10124 阅读 · 2 评论 -
echart 使用min max做为坐标起始点
一般情况下,数据都是和X轴点,数据是点对点的显示,也有其他情况下,一个坐标轴下显示两条曲线,并且大家的为维度不是对应的点对点的数据,同时又指定了坐标轴的范围,以这个范围作为起始点 // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); var xMin = 0; var xMax = 2500; var seaHeight = 5...原创 2022-05-24 11:31:00 · 1311 阅读 · 0 评论 -
for of
for of原创 2022-05-06 12:56:31 · 257 阅读 · 0 评论 -
关于前端跨域的一次总结
以前对于跨域,一直很模糊,遇到的也不知道为什么,怎么去解决?于是自己研究了一下,怎么去解决这个问题!01:为什么产什么跨域?跨域是由于浏览器的同源策略产生的,确定一点这个东西是有浏览器产生的,和后端没有什么多大关系。02:怎么解决?既然是浏览器产生的,是不是可以绕过浏览器,是不是就可以解决了03:解决方案I: 反向代理nginxII:中间服务转发III:后端设置允许跨域(现在流行和常用方式)反向代理nginx下载并安装ngix,解压,其中默认前端静态文件放置在html文件中(当原创 2022-04-21 10:59:19 · 2257 阅读 · 0 评论 -
await 的认知
先说明await后面跟的两种情况,await等待的是后面promise的执行结果01:不是promsie(此时会将跟的值,转换为promise对象,promise.resolve(val)),02: promise直接运行promise.resolve(val)1.题目解析说明var a = 0;var fn = async()=>{ a =a+await 10; console.log(a);};fn();console.log(++a);解析:...原创 2022-04-09 15:58:41 · 460 阅读 · 0 评论 -
输入地址栏的背后
01: 用户在地址栏输入关键字,地址栏会判断是搜索内容还是url地址 I: 搜索内容 => 浏览器默认搜索引擎加上搜索信息合成url II: url地址 => 浏览器加上协议(http|https)合成url 02: 按下回车,浏览器导航loading状态,页面还是之前页面,等待新的数据返回渲染 03: 浏览器进程通过进程间的相互通信IPC, 把url传递给网络进程 04: 网络进程接收到url地址后,先查找...原创 2022-04-07 11:07:19 · 244 阅读 · 0 评论 -
cookie session token 个人理解
cookie 存在于客户端session 存在于服务端(可能在服务端内存,文件,数据库)token 存在于客户端http 是无状态的,每次访问都是全新的请求,因此是无法记录是那个用户访问,也无法记录用户访问信息于是,当我们想记录每个用户自己操作了什么(比如用户自己购物车,加入产品,是加入到自己的购物车中),或者下次查询看到的是自己当时的一些信息cookie:当用户登录到服务器,服务端Set-Cookie: “name=value;domain=.domain.com;p..原创 2022-03-24 11:12:51 · 110 阅读 · 0 评论 -
gulp-babel 安装小问题
npm上npm install --save-dev gulp-babel @babel/core @babel/preset-envconst gulp = require('gulp');const babel = require('gulp-babel'); gulp.task('default', () => gulp.src('src/app.js') .pipe(babel({ presets: ['@babel/env']原创 2021-10-09 11:23:01 · 148 阅读 · 0 评论 -
KOA中await next分析?
class Koa { constructor() { this.middleWaver = [] } use(fn) { this.middleWaver.push(fn) } };const app = new Koa(); const f1 = async function (ctx, next) { console.log('f1 >>'); await ...原创 2021-09-26 10:14:12 · 544 阅读 · 0 评论 -
手写一个Promise
classPromise1{constructor(fn){varthat=this;this.state="open";this.fnArr=[];this.result=null;fn(function(...arg){//修改状态that.state='ok';//...原创 2021-08-26 09:18:10 · 64 阅读 · 0 评论 -
canvas 从图片中提取颜色
<canvas id="canvas"></canvas> <script> let canvas = document.getElementById('canvas'); let context = canvas.getContext('2d'); var img = new Image(); img.crossOrigin = 'anonymous'; img.src = "./1.png"; let im.原创 2021-08-17 10:44:48 · 1525 阅读 · 2 评论 -
vue nextTick源码原理分析
<div id="test">old</div> class Tan { constructor(dom) { this.dom = document.getElementById(dom); } nextTick(fn) { if (typeof Promise !== "undefined") { // 支持Promsie var p = Promise.resolve(1);..原创 2021-08-12 10:13:32 · 118 阅读 · 0 评论 -
vue简版原理
complier.js编译模板。watcher.js 观察者。observe.js数据拦截。Dep.js 观察者模式。原创 2021-07-31 10:22:27 · 109 阅读 · 0 评论 -
HTTP 请求响应+缓存+握手
01:HTTP有哪些⽅法?GET请求书POST发送数据给服务器HEAD请求资源的头部信息,查看资源信息(大小)OPTIONS获取服务器支持请求方法,用来检查服务器的性能,在正式请求前,先进行一次预检请求。服务端返回一些信息,浏览器拿到之后,看后台是否允许进行访问PUT向指定资源位置上传其最新内容DELETE请求服务器删除Request-URI所标识的资源...原创 2021-07-22 16:26:14 · 177 阅读 · 0 评论 -
js 虚拟DOM 原理展示
<style> #main { border: 1px solid #666; padding: 5px; } .red { color: red; }</style> <div id="main"> </div>// 01思路: 虚拟dom是个对象,上面是对标签数据的描述 // tag:标签类型 props:标签属性 child子元素(字符串|VnDOm) const VnDOm .原创 2021-07-22 15:38:06 · 219 阅读 · 0 评论 -
频谱图 js+canvas
使用到了Colormap,来用数据对应颜色,在画布上显示其中碰到了一些坑,canvas的画布大小属性和style设置的不是同一个东西,这个和svg的一样 <button>+1 绘制</button><br /><br /> <div class="myChart"> <div class="info"></div> <canvas id="myCanvas" style="borde.原创 2021-07-22 15:33:43 · 1679 阅读 · 7 评论 -
Blob + ArrayBuffer 怎么将流文件,转为本地文件读取?
Blob +ArrayBufferArrayBuffer对象:(模拟内存中二进制数据, 用来操作内存)01:设计目的为了满足 JavaScript 与显卡之间大量的、实时的数据交换(二进制)02:只能通过视图(TypedArray视图和DataView视图)来进行操作。“视图”部署了数组接口,这意味着,可以用数组的方法操作内存TypedArray视图:共包括 9 种类型的视图,用来读写简单类型的二进制数据。DataView视图:可以自定义复合格式的视图,用来读写复杂类型的二进制数据。Blo.原创 2021-01-12 14:44:14 · 2485 阅读 · 0 评论 -
VUE + TS项目记录 vuex-class
npm install --save vuex-class文件目录:代码展示 index:import Vue from 'vue';import Vuex from 'vuex'; // 引入模块import LoginStore from './modules/LoginStore'; Vue.use(Vuex); export default new Vuex.St...原创 2020-03-25 09:11:15 · 887 阅读 · 0 评论 -
记一次,axios,jq,xhr获取后端,excel数据乱码
01: 低版本的jq,不支持二进制数据的解析01: 版本3.X02: 设置xhrFields: { responseType: ‘blob’ },$.ajax({ url: 'http://192.168.10.101:8089/Defect/exportDefectByQuery', type: 'post', contentType: 'appli...原创 2020-01-10 17:00:19 · 388 阅读 · 0 评论