![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作积累-jsvascript
文章平均质量分 55
工作积累-jsvascript
yanling.zhang
这个作者很懒,什么都没留下…
展开
-
浏览器tab页之间的通信
转载:https://zhuanlan.zhihu.com/p/63422027若要实现两个互不相关的同源tab页面通信,可以使用一种比较巧妙的方式:localstorage。localStorage的存储遵循同源策略,因此同源的两个tab页面可以通过这种共享localStorage的方式实现通信,通过约定localStorage的某一个itemName,基于该key值的内容作为“共享硬盘”方式通信。HTML5提供了storage事件,通过window对象侦听storage事件,会侦听localStorag转载 2022-07-01 10:47:46 · 1262 阅读 · 0 评论 -
css3 -动画,grid,2d转换
添加链接描述2D 的转换方法:转换:translate(),定义 2D 转换,沿着 X 和 Y 轴移动元素。旋转:rotate():在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。缩放:scale():该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:.........原创 2022-06-30 22:46:52 · 392 阅读 · 2 评论 -
1. 封装自己的脚手架 2.创建代码模块
1.mkdir td-ai-cli2.npm init -y3.mkdir generators/app/index.js模版文件:原创 2022-06-24 14:07:22 · 509 阅读 · 1 评论 -
csrf详解
来自:添加链接描述但是我们现实很多情况需要有状态,比如:登录态的身份信息,网页上的很多操作需要登录之后才能操作,比如:相册的上传照片和删除照片都需要登录之后才能操作。.怎么方便的让每次都请求都带上key,所以就设计了cookie。登录态key是浏览器默认自动携带的,key通常是会话cookie,只要浏览器不关闭,key一直存在。所以只要用户A曾经登录过相册网站(www.photo.com),浏览器没有关闭,用户在没有关闭的浏览器打开一个黑客网页(www.hacker.com),黑客网页发送http请求到相册原创 2022-06-14 10:48:47 · 702 阅读 · 0 评论 -
mac npm包管理
安装nodejs如果没有安装npm,则直接去nodejs官网安装nodejs,nodejs安装成功之后npm也安装成功了。查看node安装在地址:which node/usr/local/bin/nodenpm安装地址:/usr/local/lib/node_modules安装nvm:(翻墙)nvm作用:管理nodejs版本安装脚本curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash原创 2022-05-06 20:02:49 · 585 阅读 · 0 评论 -
nodejs - mongodb
资源:mongodb相关:MongoDB:下载node驱动:文档mongoose:文档redis相关redis:下载node_redis:文档可视化工具:Robo3Tmongodb安装、配置下载安装:https://www.runoob.com/mongodb/mongodb-window-install.htmlmongo// 默认连接测试:// helloworld.js// 查询所有数db据库show dbs// 切换/创建数据库,当创建⼀个集合(原创 2022-05-05 21:08:57 · 694 阅读 · 0 评论 -
nodejs - mqsql
node.js中实现持久化的多种⽅法node.js中实现持久化的2种⽅法文件系统fs数据库1.关系型数据库 - mysql2.文档型数据库 - mongodb3.键值对数据库-redis⽂件系统数据库// fsdb.js// 实现一个文件系统读写数据库const fs = require(fs)function get(key) { fs.readFile("./db.json", (err, data) => { const json = JSON.parse(原创 2022-05-05 10:21:38 · 850 阅读 · 0 评论 -
Mac mysql安装文档
首先进入官网下载安装包官网地址: https://www.mysql.com/进入后选择如下:打开安装包安装MySQL配置1.打开系统偏好设置,在最下方找到 MySQL,然后点击 Start MySQL Server2.打开 finder(访达),点击菜单栏的 前往➞前往文件夹…,然后输入 /usr/local/mysql/bin,回车,查看该目录下是否有 mysql,如下图所示:3.打开终端,输入 cd /usr/local/mysql/bin,然后输入pw.原创 2022-05-04 23:30:23 · 293 阅读 · 0 评论 -
当浏览器关闭时如何发送http请求
https://mp.weixin.qq.com/s/QPNgEkee8x1HcIdNmushRw页面浏览器开始卸载页面并对其内存清理时,该页面就进入终止状态。在此状态下,不会执行任何新任务[3],同时正在处理中的任务如果运行时间过长可能会被杀死。简单来说,浏览器的设计是基于这样的假设:只要页面关闭时,后台队列中的任何进程都不需要再继续执行。是使用 keep-alive 标志的 fetch,还是用 sendBeacon 来发送页面终止时的请求肯定需要权衡。以下建议或许可以帮助你在不同情况下做出正确的选原创 2022-03-25 14:51:48 · 1448 阅读 · 0 评论 -
js - 面试题
1. 单行文本溢出和多行文本溢出处理?显示…单行文本溢出overflow: hidden;text-overflow: ellipsis;white-space: nowrap;多行文本溢出:display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2; // 可以设置行数overflow: hidden;2.让chrome显示小于12px的字体显示?你有哪些实现方式?可以利用css3的缩放属性:t原创 2022-03-10 15:36:31 · 156 阅读 · 0 评论 -
js 精度丢失问题
表面上我们做的是十进制的加法,实际上计算机在底层把它换算成了二进制,再做运算。但是0.1和0.2用二进制表示的话位数是无法穷尽的。因此我们看到的0.1用二进制表示的某数只是真实的0.1的一个近似数。0.2也是这个道理。所以实际上0.1+0.2是两个近似数的相加,因此这个结果也就是0.3的近似数啦。这里不做十进制小数转二进制的详细算法,感兴趣的小伙伴可以继续深入研究。遇到这种问题,如何解决10的n次幂运算把数字乘以10的n次幂,转换成计算机能够精确识别的整数,之后再除以相同的10的n次幂。n.转载 2022-01-17 14:00:22 · 208 阅读 · 0 评论 -
websocket
1.什么是websocket?webrtc能更好的处理流文件。直播用的就是webrtc。2.websocket通信原理3.websocket服务端与客户端通信实现3.1 npm install websocket-node服务端index.js// 服务器var WebSocket= require('websocket').servervar http = require('http')var httpServer = http.createServer().listen(808原创 2021-09-28 22:11:15 · 154 阅读 · 0 评论 -
Webpack 的运行机制和核心工作原理
其实 Webpack 官网首屏的英雄区就已经很清楚地描述了它的工作原理,如下图所示:我们以一个普通的前端项目为例,项目中一般都会散落着各种各样的代码及资源文件,如下图所示:比如 JS、CSS、图片、字体等,这些文件在 Webpack 的思想中都属于当前项目中的一个模块。Webpack 可以通过打包,将它们最终聚集到一起。Webpack 在整个打包的过程中:通过 Loader 处理特殊类型资源的加载,例如加载样式、图片;通过 Plugin 实现各种自动化的构建任务,例如自动压缩、自动发布。原创 2021-09-09 11:53:43 · 417 阅读 · 0 评论 -
javascript功能代码
1.获取文件后缀名使用场景:上传文件判断后缀名/** * 获取文件后缀名 * @param {String} filename */ export function getExt(filename) { if (typeof filename == 'string') { return filename .split('.') .pop() .toLowerCase() } else {原创 2021-09-07 14:33:47 · 146 阅读 · 0 评论 -
浏览器的userAgent归纳
https://cloud.tencent.com/developer/article/1758439可在safari–> 开发–>用户代理–>其他。就可以看其他浏览器的显示效果。转载 2021-08-27 17:36:58 · 177 阅读 · 0 评论 -
js-通用工具函数
import moment from ‘moment’/**转化时间格式/export function renderTime(date) {if (date) {return moment(date).format(‘YYYY-MM-DD HH:mm:ss’)}}export function renderTime2(date) {if (date) {return moment(date).format(‘YYYY-MM-DD’)}}/*定义一个深拷贝函数*/expo原创 2021-08-27 10:14:21 · 107 阅读 · 0 评论 -
解决npm包缓存问题
This is probably not a problem with npm. There is likely additional logging output above.先删除原来的node-modules包解决方案: npm cache clean --forcenpm i原创 2021-07-16 09:46:49 · 306 阅读 · 0 评论 -
nvm-Mac下的node管理工具
在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS运行环境。如果没有一个合适的工具,这个问题将非常棘手。nvm主要是解决上面的问题的。1.nvm与n的区别:node 版本管理工具还有一个是 TJ大神的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。由于 npm 安装的模块路径均为 /usr/local/l.翻译 2021-07-20 09:42:27 · 373 阅读 · 0 评论 -
HTTP请求中,几种常见的Content-Type类型
转自:https://blog.csdn.net/woaixiaoyu520/article/details/76690686POST请求的消息主体放在entity body中,服务端根据请求头中的Content-Type字段来获取消息主体的编码方式,进而进行解析数据。一、application/x-www-form-urlencoded最常见的 POST 提交数据的方式,原生Form表单,如果不设置 enctype 属性,默认为application/x-www-form-urlencoded原创 2021-08-24 09:21:21 · 241 阅读 · 0 评论 -
OPTIONS预检请求
1.options请求是什么?什么时候浏览器会发送预检请求options是预检请求,在真正的请求发送出去之前,浏览器都会先发送一个options请求法系那个服务器询问此接口是否允许我访问。浏览器在当前真实请求是非常简单请求且跨域的情况下会发起options预检请求。2。什么是简单请求:1.请求方法为get,post,head2.Content-Type限于(application/x-www-form-urlencoded,mutipart/form-data,text/plain)3.不可以有自原创 2021-08-24 09:35:54 · 1319 阅读 · 0 评论