浏览器技巧
一、快捷键
- ctrl + R —– 刷新页面
- ctrl + W ——关闭页面
- ctrl + J —– 打开下载页面
- ctrl + H —–打开历史记录
- ctrl + K —- 快捷搜索
- ctrl + 1-9 —- 快速切换tab
- ctrl + shift + T ——-打开上一次关闭的页面
- ctrl + shift + J ——-打开f12控制台
- ctrl + shift + C ——快速查看元素
- ctrl + shift + delete — 清除浏览器历史记录
f12控制台常用快捷键
ctrl + [ | ] ——切换tab栏
ctrl + L ——清除控制台
ctrl + shift + M ——打开手机浏览
ESC —- 打开控制台底部的控制栏
二、小技巧
通过按ctrl+shfit+c可以选中浮动的元素;
打开f12,在elments,按下ctrl+f,可以通过输入选择器来找到选择到的元素;
可以通过双击盒模型直接修改border、margin值;
在style编辑面板中
上方向键 / 下方向键可以使属性值以 1 递增 / 递减
ALT + 上方向键 / 下方向键可以使属性值以 0.1 递增 / 递减
SHIFT + 上方向键 / 下方向键可以使属性值以 10 递增 / 递减
CTRL + 上方向键 / 下方向键可以使属性值以 100 递增 / 递减
- 在f12中,通过按住shfit点击颜色,可以切换颜色的显示值;
三、console的用法
console对象的所有属性
console.log('信息是:%s',str);可以直接将str变量放进%s位置;
console.clear():清空控制台
console.assert(v, '') // 当v为假时,输出后面的字符串,否则无输出
console.table():以table形式输出对象
console.group():以分组形式输出
console.warn():以warn形式输出
console.error():以error形式输出
console.count():统计代码被执行的次数
console.trace():显示当前执行的堆栈调用路径,放在最后一个调用的函数中;
console.time():用来计时一个方法运行多长时间,使用timeEnd来结束;
console.time('func')
console.timeEnd('func') // 里面名字需要填写一样的;
console.dir():直观的展示一个对象的所有属性和方法
console.dir
当输出dom元素时,显示的是dom元素的对象属性,当console.log则是标签;
console.table()
第一个可以传入对象或数组,第二个参数可选,可以单独放入想要展示的内容;
$符的用法
console里面可以直接使用$符获取元素,跟jquery操作方式一样,
- $:相当于querySelector,获取元素
- $$:相当于querySelectorAll,获取一组元素
- $0-4:获取最近5个选择过的dom节点
- $_:返回最近一次表达式执行的结果
其他简写:
- dir、keys、values
copy
copy(document.body)
,将获取到的内容复制到剪贴板,可以粘贴到任意地方
鼠标对对象使用右键 Store as global variable,可以直接将一个对象给复制到剪贴板
monitor 事件监听
monitor
& unmonitor
,接收一个函数名作为参数,当该函数被执行,就会被监听到,unmonitor用来停止监听的;
monitorEvents 事件监控
monitorEvents
&unmonitorEvents
,一个为监控事件,一个为解除监听,第一个参数为选中的元素,第二个参数为事件,也可以是数组
monitorEvents(window, 'resize')
monitorEvents(window, ['resize', 'scroll'])
第二个参数也可以放入类型;
类型 | 事件 |
---|---|
mouse | “mousedown”, “mouseup”, “click”, “dblclick”, “mousemove”, “mouseover”, “mouseout”, “mousewheel” |
key | “keydown”, “keyup”, “keypress”, “textInput” |
touch | “touchstart”, “touchmove”, “touchend”, “touchcancel” |
control | “resize”, “scroll”, “zoom”, “focus”, “blur”, “select”, “change”, “submit”, “reset” |
JSON.stringify来输出格式
使用它的第三个参数,让显示更有格式化效果;
对象需要展开
当查看对象的时候,需要展开才能查看,大大的影响开发效力
原因:(…)是get/set类的属性,点击后出现是当前的值,不一定输出log的时候的值,如果想直接看log时的值,需要console.log(JSON.parse(JSON.stringify($var)))
;
页面跳转保留控制台输出
一般用于调试跳转之后输出的内容;
点击右侧小齿轮,之后开启Preserve log即可;
四、断点篇
快捷键
f8
过程执行,跳过当前断点继续执行(对循环特别有用,可以跳到下一次循环断点处,直接点击页面上的绿色按钮)f10
逐步执行,它会忽略方法体内部,f11
细节语句执行,进入方法体内部shift + f11
细节语句返回主体函数
element元素断点
- subtree moditications:当添加改变删除元素时触发
- Attribute modifications:元素属性改变时触发
- Node removal:移除这个dom元素时触发
当通过js操作时,会被跳到当前断点;
黑匣子
当我们打断点时,会跳到源码里面绕一大圈,最终找不到我们想要的东西,无法很快定位到错误的地方,chrome提供了一个黑匣子(黑名单),在源码文件点击之后,下次跳转就不会进来了;
还可以到设置中,可以自己加需要忽略的库或文件
将以下两个加入到黑匣子,可以解决大部分断点跳插件的问题
node_modules
\.min
xhr/fetch断点
也可以直接对network进行断点
五、浏览器插件分享
- GitHub Hovercard github增加悬浮窗
- Adblock Plus 谷歌广告拦截
- Astar 免费翻墙,可看youtube
- octotree github左侧固定文档树
- smartUp手势 增加鼠标右键支持快捷操作
- 云盘万能钥匙 自动输入百度网盘密钥
- Tampermonkey 油猴 支持安装更多的插件插入脚本,非常好用
- Infinity 新标签页 新增标签添加快速访问,支持书签关键字搜索
- Pesticide 快速查看页面布局信息
- 一键管理扩展 当扩展过多时,使用该插件非常方便
- Talend API 浏览器版本的Postman
$i 浏览器使用npm插件
安装地址:Console Importer
六、codebox
在浏览器快速写代码,可以按ctrl+enter即可进行输出了;
七、修改devtools默认主题
- 地址输入url:
chrome://flags/#enable-devtools-experiments
,搜索Developer Tools experiments并启用; - 控制台中使用
F1
打开设置,切换到Experiments
选项,启用Allow custom UI themes
- 从chrome商店搜索安装:
Material DevTools Theme Collection
扩展程序,之后选择喜欢的主题进行重启即可;(如果选中的是带Dark的主题,需要切换对应的默认主题,在settings
–>preferences
–>theme
选项卡;
其他技巧
- 选中节点之后,点击Event Listeners,可以查看当前元素包括冒泡的所有事件,取消勾选Ancestors All之后,可以查看当前元素的所有事件