- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 新开页面下载文件url鉴权
原本通过后端返回的地址,进行a标签新开页面进行下载,但项目后期,发现越权问题,需要前端将token跟账户传过来,进行鉴权验证,之前的项目中,有sso机构门户去验证当前浏览器是否登陆,目前所在的项目组,因为限制问题,无法之间去浏览器验证用户是否登录,需要前端自己传输token,当时方案两种:1、通过get请求,header加上token,url拼接参数进行验证,但是因为项目的业务层,视图层分包进行,导致不能通过此种方案2、通过post,最后验证发现底层的s3限制文件下载的方式,不能为post.
2022-03-10 21:10:44 921
原创 基於XMLHttpRequest封裝blob下載
因為近期項目場景問題,需要把之前的form表單提交形式的下載,獲取回調響應,網上各種方案不太符合我的需求,最終只能使用原生XMLHttpRequest獲取狀態碼進行事件處理1、封裝XMLHttpRequest/***文件下載**/downXHR = function(type,url,data,callback){ var xmlRequest = new XMLHttpRequest(); xmlRequest.open(type,url,true) ...
2021-12-31 10:48:33 845
原创 react下跨組件跨頁面監聽localStorage變化
1、在setItem的地方配置如下代碼 if (typeof window !== "undefined") { var orignalSetItem = localStorage.setItem; localStorage.setItem = function (key, newValue) { var setItemEvent = new Event("setItemEvent"); setItemEvent.newValue = newValue;
2021-12-30 15:55:23 868 1
原创 基于antdPro5的标签页面打开方式
效果图:目前react\vue\angular都是单页面的实现路由跳转方式但因为平台是后台管理系统,业务方想实现浏览器标签页切换的方式进行配置,以前多页面是采用iframe实现,页面性能大大降低,多页面本来就是很鸡肋的方式,奈何人在屋檐下,不得不低头首先实现要实现一个组件来管理路由吧,可以这么理解,如图的路径1、TagView的index.jsx,index.lessimport React, { useState, useEffect, useRef } from '...
2021-10-14 19:33:51 1823 2
原创 antd阿里云上传图片,基于私有库
项目中要实现图片直接上传到阿里云服务器,通过前端实现,直接访问阿里云的服务器1、首先要在主页面引入 <script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script>因为本人项目是https的,如果你的项目是http,则如下: <script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min
2021-10-14 19:20:44 204
原创 antdPro中使用自带umi的fecth,Blob实现预览文件的踩坑之旅
1、因项目需要实现在线预览功能,正常后台返回blob流,进行如下代码设置便可 let documentType = mimeType(fileType); let blob = new Blob([res], { type: documentType + ';chartset=UTF-8' }); const blobUrl = window.URL.createObjectURL(blob); //down if (typ
2021-10-14 19:10:20 594
原创 react-router-dom BrowserRouter页面刷新404
最近遇到react-router-dom路由使用BrowserRouter,本地开发没问题,发布到服务器再次刷新就报404not found,原因解析:之所以你在浏览器内可以由首页跳转到其他路由地址,是因为这是由前端自行渲染的,你在React Router定义了对应的路由,脚本并没有刷新网页访问后台,是JS动态更改了location。当你刷新时,你首先是访问的后台地址,然后返回的页面内加载了React代码,最后在浏览器内执行;也就是说如果这个时候报404,是因为你后台并没有针对这个路由给出返回H
2020-11-26 15:46:56 1759
原创 安装Angular-Cli
经过n次的失败安装,终于在最后一次安装成功,为了使同学们少走弯路,现将经验写下来:1、查看你的node以及npm版本:node -v 查看node版本npm -v 查看npm版本要求所有版本都是最新的,不然可能会出错。2、设置淘宝镜像,这样下载东西就是从国内网站下载了,网速更快npm config set registry https://registry.np...
2018-12-09 15:10:33 658
原创 判断浏览器内核是否是IE8及其以下
var DEFAULT_VERSION = 8.0;var ua = navigator.userAgent.toLowerCase();var isIE = ua.indexOf("msie")>-1;var safariVersion;if(isIE){ safariVersion = ua.match(/msie ([\d.]+)/)[1];}if(s...
2018-11-19 14:31:54 2481
转载 原生js实现table列宽的鼠标拖动事件
var tTD; //用来存储当前更改宽度的Table Cell,避免快速移动鼠标的问题var table = document.getElementById("tableId"); //table的id名称for (j = 0; j < table.rows[0].cells.length; j++) { table.rows[0].cells[j].onmousedo...
2018-08-30 10:39:28 1858
原创 常用正则表达式
一、校验数字的表达式数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小...
2018-08-28 09:42:40 148
转载 关于HTTP协议,一篇就够了
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系...
2018-08-13 09:35:17 443
转载 TCP的三次握手与四次挥手(详解+动图)
本文转载自:https://blog.csdn.net/qzcsu/article/details/72861891背景描述通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应...
2018-08-13 09:32:34 113
转载 freemarker教程
copy自http://demojava.iteye.com/blog/800204 FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMa...
2018-06-01 09:24:01 164
原创 重写split 用于解决IE7,IE8,IE9的split的兼容性
//重写split 用于解决IE7,IE8,IE9的split的兼容性var split;split = split || function (undef) { var nativeSplit = String.prototype.split, compliantExecNpcg = /()??/.exec("")[1] === undef, self; ...
2018-05-30 17:29:43 2480
原创 转义HTML标签
function HTMLEncode(html) { var temp = document.createElement("div"); (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html); var output = temp.innerHTML; temp = null; return...
2018-05-30 17:17:53 1452
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人