js判断浏览器窗口的关闭与刷新
今日项目遇到一个问题,有一个功能会在浏览器的主窗口中新开一个窗口,然后业务要求:关闭新窗口的时候往后端发个请求,刷新的时候不发送。知道有个 onbeforeunload 事件是用于捕获关闭浏览器事件(包括刷新)的,但刷新也会走此方法,所以行不通,于是就网上找了找资料,网上回答的最多的大致是这样的 1 ...
阅读更多
动态更改keyframes
背景最近做了一个上线滚动文字的走马灯组件,通过关键帧@keyframes at-rule 来定义滚动;由于我的滚动条目是动态的,个数不定,所以需要动态计算时间段显示的内容。 思路就是@keyframe 设置在不同时间显示不同的元素,通过绝对定位来实现,动态控制元素的位置来控制显示哪个元素。 1234 ...
阅读更多
node.parentNode和node.parentElement的区别
这两个属性都是返回指定节点的在 DOM 树中的父节点。 parentNodeparentNode 是指定节点的父节点.一个元素节点的父节点可能是一个元素(Element )节点,也可能是一个文档(Document )节点,或者是个文档碎片(DocumentFragment)节点. parentEle ...
阅读更多
mac录制屏幕声音QuickTime和Soundflower
安装 Soundflower先装 Soundflower:https://github.com/mattingalls/Soundflower/releases下载安装Soundflower-2.0b2.dmg文件 下载成功后,运行 dmg 如果出现打不开的提示,请参照 MacBook 在网上下载 ...
阅读更多
ReactDOM.render和ReactDOM.createPortal的区别
背景最近在封装提醒组件时,因为提醒组件元素是动态创建的,需要添加在当前组件的外部(不在root中),因为这种提醒的组件是全局使用的,和业务关系不大,并且是根据需要动态使用;发现有用 ReactDOM.createPortal,而有的使用 ReactDOM.render,于是在网上找这俩的区别,也没很 ...
阅读更多
网站步骤引导组件实现
比较好用的组件有: driver.js shepherd smartour 原理实现smartour中讲解了实现思路:看到的遮罩层其实是阴影 box-shadow,但是阴影不会阻碍元素,页面上的元素还能点击,所以需要在下面再加一层透明的 div。 语法1box-shadow: h-shadow ...
阅读更多
npm安装包突然提示json报错
今天在安装一个包时,提示如下错误: 1npm ERR! Unexpected end of JSON input while parsing near '...",'解决方案 解决方法: 1npm cache clean --force
阅读更多
查看npm全局安装的包
老是忘,记录下 1npm list -g --depth 0
阅读更多
AOT和JIT是什么
定义JIT,即 Just-in-time,动态(即时)编译,边运行边编译;AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式 区别这两种编译方式的主要区别在于是否在“运行时”进行编译 优劣JIT 优点可以根据当前硬件情况实时编译生成最优机器指令(ps. AOT 也可以做到,在用户 ...
阅读更多
mac上创建bash_profile遇到的坑及解决方法
今天在学习 flutter 环境配置时,发现没有.bash_profile,于是我就百度了。统一的答案就是自己新建一个,然后把你的命令加进去就行了。我照做了,结果悲催了! 所有命令失效了自己 touch 了.bash_profile 后,发现所有命令都不管用了。ls 都不管用了!于是只能通过界面使用 ...
阅读更多