端到端测试神器 cypress 浅入浅出

2018-07-16
阅读 3 分钟
5.3k
我之前写过关于cypress的文章,[链接],最近在工作中用到cypress比较多了,顿时觉得cypress确实是比较优秀的一个。 1. 软件安装. 2. 安装cypress 安装cypress客户端:[链接] 安装vscode编辑器:[链接] 3. 初始化 假如项目目录是 /test 打开cypress客户端, 点击箭头位置,通过资源管理器选择/test目录 如果/test没有cypr...

记一次解决谷歌浏览器Google Chrome Helper占用过高cpu问题

2018-06-05
阅读 2 分钟
60.7k
通常来说Chrome如果占用过高的内存,这并不是什么问题,毕竟Chrome的性能以及易用性是建立在占用很多内存的基础上的。但是无论什么程序,持续的占用超过80%的cpu,都是极不正常的。大多数程序都是占用维持在低于10%的CPU。

浏览器端数据库存储方案的整理 -- indexDB 和 localStorage

2018-06-02
阅读 4 分钟
11.8k
有些安全性不太重要的数据,我不想花大力气搞一台服务器,再安装mysql或者 monogdb,再写点rest接口。这也太麻烦了,浏览器里本来就有很好用的数据库。你为什么不尝试一下呢?

端到端测试哪家强?不容错过的Cypress

2018-05-17
阅读 3 分钟
8.6k
端到端测试一般都需要一个Web容器,来运行前端应用。例如Chromium, Electron, PhantomJS, WebDriver等等。

WebSocket断开原因分析,再也不怕为什么又断开了

2018-04-25
阅读 3 分钟
118.6k
阅读原文:[链接] 1. 把错误打印出来 WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来。 在线demo地址:[链接] {代码...} 如果你想自己玩玩WebSocket, 但是你又不想自己部署一个WebSocket服务器,你可以使用ws = new WebSocket('wss://echo.websocket.org/'), 你向echo.websocket.org发送消息,它会...

油猴子脚本 - 我的地盘我做主

2018-01-24
阅读 2 分钟
9.4k
当你用浏览器访问某个网页时,你可曾想过,你看到的这个网页,实际上是属于你自己的。 打个比喻:访问某个网站就好像是网购了一筐鸡蛋,鸡蛋虽然是养鸡场生产的,但是这个蛋我怎么吃,你养鸡场管不着。 当然了,对于很多人来说,鸡蛋没有别的吃法,鸡蛋只能煮着吃。 你可以看如下的页面:当你在某搜索引擎上搜索前端开发...

不常用却很有妙用的事件及方法

2017-12-29
阅读 2 分钟
3.9k
1 visibilitychange事件 触发条件:浏览器标签页被隐藏或显示的时候会触发visibilitychange事件. 使用场景:当标签页显示或者隐藏时,触发一些业务逻辑 {代码...} 2 storage事件 触发条件:使用localStorage or sessionStorage存储或者修改某个本地存储时 使用场景:标签页间通信 {代码...} 3 beforeunload事件 触发条件...

回首2017: 你其实是一个收集贝壳的孩子

2017-12-28
阅读 3 分钟
4.4k
我不知道世上的人对我怎样评价。我却这样认为:我好像是在海上玩耍,时而发现了一个光滑的石子儿,时而发现一个美丽的贝壳而为之高兴的孩子。尽管如此,那真理的海洋还神秘地展现在我们面前。—— 牛顿

追本溯源:substr与substring历史漫话

2017-12-24
阅读 3 分钟
4.4k
引子: 很多时候,当我要字符串截取时,我会想到substr和substring的方法,但是具体要怎么传参数时,我总是记不住。哪个应该传个字符串长度,哪个又应该传个开始和结尾的下标,如果我不去查查这两个函数,我始终不敢去使用它们。所以我总是觉得,这个两个方法名起的真是蹩脚。然而事实是这样的吗?

基于 WebRTC 构建 Web SIP Phone

2017-12-23
阅读 3 分钟
14.8k
0 阅前须知 本文并不是教程,只是实现方案 我只是从WEB端考虑这个问题,实际还需要后端sip服务器的配合 jsSIP有个非常不错的在线demo, 可以去哪里玩耍,很好玩呢 try jssip 1. 技术简介 WebRTC: WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频...

我的谷歌浏览器插件集(17个)

2017-12-06
阅读 3 分钟
5.2k
1 广告拦截:AdBlock 2 获取网页样式:CSS Peeper 3 扩展管理:扩展管理器(Extension Manager) 4 json格式化:JSON-handle 5 多点高亮查找:Multi-highlight 6 github源码阅读:Octotree 7 http接口调试:Postman 8 脚本增强:Tampermonkey 9 脚本注入:Script Injector 10 键步如飞:Vimium 11 Vue开发利器:Vue.js d...

如何写好技术文档?

2017-11-04
阅读 2 分钟
7.8k
本文来自于公司内部的一个分享。在文档方面,对内的一些接口文档主要是用swagger来写的。虽然可以在线测试,比较方便。但是也存在着一些更新不及时,swgger文档无法导出成文件的问题。在对外提供的文档方面:我主要负责做一个浏览器端的一个js sdk。文档还算可以github地址,所以想把一些写文档的心得分享给大家。

Top Javascript tools 2017

2017-10-30
阅读 1 分钟
1.5k
原文地址git地址 基础工具 accounting.js async axios chance date-fns format.js immutable is.js lodash Math.js Moment.js Numeral.js string.js underscore.js voca wait xregexp.com 编译 / 类型检查 Babel TypeScript Flow 代码分析引擎 Tern JavaScript兼容性检查器 jscc.info/ Linting/ Hinting & Style Lin...

你不知道的JSON.stringify()妙用

2017-09-19
阅读 2 分钟
6.3k
1 语法 {代码...} 一般用法: {代码...} 2 扩展用法 2.1 replacer replacer可以是函数或者是数组。 功能1: 改变属性值将isDead属性的值翻译成0或1,0对应false,1对应true {代码...} 功能2:删除某个属性将isDead属性删除,如果replacer的返回值是undefined,那么该属性会被删除。 {代码...} 功能3: 通过数组过滤某些属性...

奇技淫巧:css实现整个表单只读 form readonly

2017-09-15
阅读 1 分钟
5.2k
一般的方法往往给表单的各个input、select等加上readonly,但是这个方法有很多缺点。此处就不一一赘述。 我说的方法只需要给表单加上一个类,就可以让表单只读。 {代码...} 方法1: 用:before给form做个看不见的蒙版,遮住下面所有的元素,使之不响应任何事件 {代码...} 方法2: 用pointer-events:none, 让所有事件穿透for...

如何从浏览器导出HTTPS证书

2017-09-11
阅读 1 分钟
18.3k
以谷歌浏览器为栗子 1 打开一个HTTPS网站,例如[链接] 2 F12 -> Secutity -> 点击View certificate 3 详细信息 -> 复制到文件 4 证书导出向导 这一步要给证书文件起个名字,后缀名就不用了。 然后在你的桌面上就多了一个证书文件。

可能被遗漏的https与http的知识点

2017-09-06
阅读 1 分钟
5.4k
例如在github pages页面,这是一个https页面,如果在这个页面向http发送请求,那么会直接被浏览器拒绝,并在控制台输出下面的报错信息。

定位神器:1秒定位DOM元素绑定的事件代码的位置

2017-09-04
阅读 1 分钟
2.4k
1 VisualEvent github地址: [链接] 2 使用教程 打开[链接],然后将visual Event连接拖动到浏览器的书签栏上 随便打开一个页面,然后点击VisualEvent书签后,页面就变成这样了。鼠标移动到蓝色或者黄色边框的元素上,相应得逻辑代码就会出现。截图左下角蓝色长条上有一些有用的信息,最左边有个关闭的按钮。 3. 最后 Vis...

代码整洁之道 - 有意义的命名

2017-08-30
阅读 2 分钟
1.9k
在小朱元璋出生一个月后,父母为他取了一个名字(元时惯例):朱重八,这个名字也可以叫做朱八八。我们这里再介绍一下,朱重八家族的名字,都很有特点。朱重八高祖名字:朱百六;朱重八曾祖名字:朱四九;朱重八祖父名字:朱初一;他的父亲我们介绍过了,叫朱五四。取这样的名字不是因为朱家是搞数学的,而是因为在元朝...

表单验证工具 jquery-validation Vs Parsley

2017-07-21
阅读 1 分钟
4.4k
这两个表格验证插件我都用过,最早用的是jqueryValidataion, 现在用Parsley。这两个插件都依赖jQuery。但是如果说那个跟好用的话,真心推荐Parsley。Parsley号称不用写一行代码就能验证表单。另外从star的数量上也可以看出来Parsley更流行。而且Parsley支持在html中就将错误信息定义在里面。

github上的那些神器

2017-06-14
阅读 2 分钟
6.5k
1 serve: 在任意目录开启静态文件服务器 [链接] 2 lambda-view:优雅的看js源码 [链接] 3 ConEmu:windows命令行从未如此迷人 [链接] 4 Wox:天下武功,唯快不破 [链接] 5 gow:谁说windows不能用linux命令 [链接] 6 vimium:像用vim一样用chrome浏览器 [链接] 7 localtunnel:将内网地址转化成公网地址 [链接] 8 Browse...

Audio: 如果你愿意一层一层剥开我的心

2017-06-13
阅读 4 分钟
12.8k
通过打开谷歌浏览器的dev tools -> Settings -> Elements -> Show user agent shadow DOM, 你可以看到其实Audio标签也是由常用的 input标签和div等标签合成的。

谷歌浏览器:audio如何隐藏下载按钮

2017-06-11
阅读 2 分钟
16.6k
当我们使用原生的audio标签时,可以看到如下的效果。 那么如何让下载按钮隐藏掉呢? 1. controlsList="nodownload" {代码...} controlsList属性只兼容Chrome 58+以上,具体可以参考controlslist.html ,controlsList在线例子 nodownload: 不要下载 nofullscreen: 不要全屏 noremoteplayback: 不要远程回放 2. css方式来...

8行代码的模板字符串替换函数

2017-05-31
阅读 1 分钟
3k
特点 无依赖 无检查 无错误处理 无逻辑 无配置 代码 {代码...} demo {代码...}

如何浏览器里调试iframe里层的代码?

2017-05-22
阅读 1 分钟
10.6k
其实浏览器本身是可以选择不同的iframe的执行环境的。例如有个变量是在iframe里面定义的,你只需要切换到这个iframe的执行环境,你就可以随意操作这个环境的任何变量了。

终于找到你!如何将前端console.log的日志保存成文件?

2017-05-15
阅读 2 分钟
43.7k
本篇文章来自一个需求,前端websocket会收到各种消息,但是调试的时候,我希望把websoekt推送过来的消息都保存到一个文件里,如果出问题的时候,我可以把这些消息的日志文件提交给后端开发区分析错误。但是在浏览器里,js一般是不能写文件的。鼠标另存为的方法也是不太好,因为会保存所有的console.log的输出。于是,终...

thinkpad 系列恢复F1-F12原始功能,切换ctrl和fn的位置

2017-05-02
阅读 1 分钟
6.7k
对于一个前端开发来说,按F12的是不能调出dev tools是不能容忍的Bug!对于一个前端开发来说,Fn键放在Ctrl键左边,真想扣掉FN, 把Ctrl塞进去!thinkpadT450 总体来说还不错,就这两点实在让人不爽。现在就DIY属于你自己的键盘风格吧!

积水成渊:用github gist收藏你的代码片段

2017-04-27
阅读 1 分钟
7k
Github Gis服务 出生名门github 用于记录代码片段 匿名张贴 能像wiki一样记录历史如果您修改了已经发布了的Gist的话,之前的所有版本都将被保存。 支持markdown ... 更多介绍请看:如何看待 Github Gist这个服务,怎样更好的利用? 客户端 gistbox: 谷歌浏览器插件,用来编写gist lepton: 支持windows, max,linux 我自己...

定时器学习:利用定时器分解耗时任务案例

2017-03-29
阅读 3 分钟
15.5k
对于执行时间过长的脚本,有的浏览器会弹出警告,说页面无响应。有的浏览器会直接终止脚本。总而言之,浏览器不希望某一个代码块长时间处于运行状态,因为js是单线程的。一个代码块长时间运行,将会导致其他任何任务都必须等待。从用户体验上来说,很有可能发生页面渲染卡顿或者点击事件无响应的状态。