浏览器打开控制台触发事件:


网页中加了看板娘,在打开控制台的时候会弹出这一段话

然后我就好奇了,打开控制台的事件怎么监听?

接下来去扒了下看板娘的源码,发现只有这么一句话

const devtools = () => {};console.log("%c", devtools);devtools.toString = () => {showMessage("哈哈,你打开了控制台,是想要看看我的小秘密吗?", 6000, 9);};

我一时间没看懂,这是这么操作的,难道常见的console.log方法还有不为人知的秘密?
赶紧查了下菜鸟驿站等,没发现隐藏剧情

然后突然想到一种可能,只有在打开浏览器控制台的时候,才会去执行console.log方法,在执行时他会将devtools对象转为string类型,从而隐式调用.toString()方法。

也就是说console.log("%c", devtools);
或者:console.log("%s", devtools);
都是可以的

那么理论上讲,devtools 是Object,Array,Map也是可以的,然而实时必须是Function类型(我是想不通了,Object转成字符串也要调用tostring()吧)

但是可以这么写:const devtools = new Function();

浏览器打开控制台触发事件相关推荐

  1. JS禁止浏览器打开控制台或查看源代码

    分享知识  传递快乐 JS禁止浏览器打开控制台或查看源代码 在做支付的时候为了保证提交参数的安全.以及为了保证重定向时地址不被查看和修改,必须要禁用浏览器的控制台或源码查看功能,以保证参数及地址的安全 ...

  2. Edge浏览器打开控制台后程序总是停止进入debug模式关闭教程【八仙过海之又一过海方案】

    问题描述 就是这样,我打开控制台想看接口调用过程,但是Edge总是给我暂停,不知道是版本还是什么问题,以前也没有出现,看了网上的教程,可谓:八仙过海,各显神通!我试了,都不好使 解决办法 如果你也是看 ...

  3. 微信PC端 微信浏览器打开控制台

    1. 版本回退 下载旧版本微信客服端,3.2.1版本之前的都可以,这里是https://link.csdn.net/?target=https%3A%2F%2Fwebcdn.m.qq.com%2Fsp ...

  4. 记录uni-app弹框事件无生命周期问题;uni-popup-dialog打开触发事件;uni-popup-dialog调用接口时机

    项目需求:点击页面的 品牌型号 按钮,打开弹框,将 车架号码 参数传入接口获取到对应的 品牌型号列表,在进行选择后关闭弹框. 实际开发中,我在父组件里面引入了弹框子组件:诡异的事情发生了: 在小程序页 ...

  5. 关闭浏览器网页触发事件_浏览器是如何工作的?

    作者:zhangwang 原文链接:https://zhuanlan.zhihu.com/p/47407398 可能每一个前端工程师都想要理解浏览器的工作原理. 我们希望知道从在浏览器地址栏中输入 u ...

  6. google 浏览器默认打开控制台_chrome浏览器使用 Console(控制台)

    chrome浏览器使用 Console(控制台) 了解如何:打开DevTools Console(控制台),堆叠冗余消息或在自己的行上显示它们,清除或保持输出或将其保存到文件,过滤输出,以及了解其他C ...

  7. 高效解决Tomcat控制台以及浏览器打开txt文件乱码问题

    1. 解决控制台乱码问题                                                 默认运行Tomcat控制台会出现乱码 这是由于windows系统默认的编码集是 ...

  8. ie浏览器里怎么打开控制台

    在 Internet Explorer 浏览器中打开控制台的方法如下: 在浏览器中按 F12 键,或者在菜单栏中选择 "开发人员工具". 在弹出的调试窗口中,选择 "控制 ...

  9. 《基于Qt的VR编辑器开发》(Yanlz+Unity+SteamVR+5G+AI+VR云游戏+Qt+编辑器+跨平台+人机交互+触发事件+立钻哥哥+==)

    <基于Qt的VR编辑器开发> <基于Qt的VR编辑器开发> 版本 作者 参与者 完成日期 备注 YanlzFramework_Qt_V01_1.0 严立钻 2019.09.04 ...

最新文章

  1. java 文件下载 【学习记录】
  2. Python中怎么判定一个List里面的元素是不是全部一样
  3. Dubbo-go 源码笔记(一)Server 端开启服务过程
  4. 做宠物行业“独角兽”,乖宝集团如何为宠物舌尖上的安全保驾护航?
  5. php strstartwith,PHP8新增的三个字符串函数 str_contains, str_starts_with, str_ends_with
  6. c++ h264RTP接收和发送程序
  7. oracle 数据结构
  8. 【构造】构造一个字符串满足k个子序列问题总结
  9. 思科cisco策略路由基本概念
  10. 银行对公业务数字化迎来新机遇
  11. CCF-CSP-2015年9月-题解
  12. 兔子、狼、狐狸、王八
  13. 使用BeanUtils.populate遇到的bug
  14. oracle ORA-22992问题
  15. 聊天机器人中的深度学习
  16. Libra为何而生?Facebook为何要给 Libra创建Move语言?Calibra技术负责人给出了回答...
  17. Scala之“逆变”合理性的思考
  18. 【信道模型分析1】通过伪码相关峰分析信道模型对信号的影响——高斯白噪声信道/瑞丽多径信道
  19. 如何选择适合自己门店的收银系统呢?
  20. 成功入职字节跳动!985研究生被小公司领导留了3年,辞职时领导

热门文章

  1. 20161101 Rabbit MQ shovel 插件使用及配置
  2. 卷积神经网络的C语言实现
  3. Google Earth Engine(GEE) ——多种机器学习方法(随机森林、cart、svm等)进行土地分类(安第斯高原为例)用光谱指数、植被、土壤、雪和烧毁区以及地形指数构建模型
  4. Linux下载神器XDM,堪比IDM
  5. 解决linux时间同步
  6. 以解决城市交通堵塞问题为中心来玩头脑风暴吧
  7. VBox on 14.04: Kernel driver not installed (rc=-1908) [duplicate]
  8. 丝路传说错误报告解决办法 !丝路传说 电脑配置
  9. mysql+curdate+昨天_MySQL内置时间curdate查询用法
  10. GAEA创作地形 个人小结