赞了文章2022-09-08
近期公司需要针对分享流程进行优化,其中一点就是前端H5检测是否安装应用,来进行不同的判断(下载或直接跳转到app中)。原理很简单:创建一个iframe去打开uri。如果打开app成功网页进入后台,再切换回来时间会超过2.5s。利用时间去检测。下面来看具体实现过程:
赞了文章2022-07-01
谷歌浏览器右上角的扩展插件(Chrome Extension)实际上是是更底层的浏览器功能扩展。Chrome插件是一个用Web技术开发、用来增强浏览器功能的软件,它其实就是一个由HTML、CSS、JS、图片等资源组成的一个.crx后缀的压缩包。
赞了文章2022-03-06
关于前端单元测试,其实两年前我就已经关注了,但那时候只是简单的知道断言,想着也不是太难的东西,项目中也没有用到,然后就想当然的认为自己就会了。
关注了问题2021-09-14
赞了文章2021-02-16
React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。
关注了问题2021-01-29
赞了文章2021-01-10
做前端错误上报,必然离不开window onerror,但window onerror在不同设备上表现并不一致,浏览器为避免信息泄露,在一些情况下并不会给出详细的错误信息,本文的目的就是通过跑一些简单的小例子,验证onerror在不同浏览器下的具体表现。
赞了文章2020-12-05
关于webpack中sourcemap的文章很多,但感觉大部分是翻译官方文档的说明, 缺乏直观的用例,写这篇博客的目的是帮自己厘清这个概念, 也顺便将我自己收集的这方面的干货放在这。本文将尝试先讲清楚webpack中的sourcemap配置项的概念。
赞了文章2020-10-05
TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。
回答了问题2020-10-03
extends里面的相关内容都是省略了前缀eslint-config,plugins里面的内容都是省略了前缀eslint-plugin,而extends中的冒号和/号的前面的意思是使用了某插件,符号后面的意思是使用该插件里的什么样的一套规则
回答了问题2020-10-03
试试使用prettier的配置文件,优先级挺高的
赞了文章2020-10-02
我们都知道nodemon可以直接用来在开发环境下运行js文件,可以在文件改变时自动刷新和重启服务器。但是最近刚好在学typescript,所以就想使用ts来写,也想达到同样的效果,总结一下方法,大概有如下几种:
赞了文章2020-09-18
最近在 2021-11-13 更新记录(主要更新内容):[2021-11-13] 补充返回 Promise 对象的情况下,加或不加 async 是有区别的[2021-09-28] await 等待的不是 Promise Like 对象时 ...[2020-06-04] 解释 Promise.resolve()
赞了文章2020-08-16
作为一个前端,每个人应该对npm install这个命令应该非常熟悉了,尤其是对这个命令执行过程中命令窗口疯狂输出肯定印象深刻。我发现有的同学对安装包轻车熟路,但对包从哪里来的以及如何发布一个npm并不是很了解,基于此,在团队内部做了一次分享,将分享过程整理如...
赞了文章2020-05-23
Module:模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。
赞了文章2020-05-07
作为一名 H5 前端程序员,在一些包含动画的项目中,设计师总是要来问一下你"这个动画是要导出序列帧还是 GIF","导出 GIF 可能会有白边","不能再压缩,再压就糊了“…...
赞了文章2020-05-07
在海外项目中,为了优化用户体验加入了几处微交互动画,实现方式是设计输出合成的雪碧图,前端通过序列帧实现动画效果:序列帧:动画效果:序列帧:帧动画的缺点和局限性比较明显,合成的雪碧图文件大,且在不同屏幕分辨率下可能会失真。经调研发现,Lottie是个简单...
提出了问题2020-04-10
回答了问题2020-04-10
Vue不能通过索引改变数组的元素,然后希望他是响应式的。因为Vue并没有对数组中的每个元素都进行响应式处理,源码中加了判断,碰到数组单独走自己的逻辑,这是因为数组的操作比较频繁,让数组元素响应式的话开发体验与性能不成正比。使用数组的变异方法吧
回答了问题2020-04-10
你代码里分发了action,应该是要修改state中的数据,然而state中的数据是缓存在内存中的,你刷新之后里面的数据就没有了,应该是这个问题,你看一下vue devtools里面state的数据状态