javascript – 为什么console.log在Chrome的某些网站上是空的?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么console.log在Chrome的某些网站上是空的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
转到Twitter的登录页面,并在控制台中键入以下内容

window.addEventListener(‘keypress’,function(e){console.log(‘hello’)},true)

(注意:如何将第三个参数设置为true,以启用事件捕获,这将导致事件首先被窗口截取,然后被子元素消耗.)

尝试按一些键.注意hello如何不输出到控制台.添加keydown或keyup的事件侦听器不会改变任何东西.

你好,大部分网站都会输出,而不是像Twitter或Gmail这样的网站.

为什么?什么是停止事件侦听器?

编辑:似乎按照预期在Firefox上工作.但不是Chrome. Chrome为什么不按预期触发事件侦听器?

编辑2:如下面的几个人推断的,console.log对于Chrome和Gmail等网站来说是一个空白的功能.这是为什么?

解决方法

因为这些网站已经具体设置(对于webkit显然):
console.log = function(){};

但是,在Chrome中,您可以通过在控制台中发出此命令来恢复原始日志()功能

console.log = console.__proto__.log

那么你可以这样做:

window.addEventListener('keypress',function(e){console.log('hello')},true)

它应该按预期工作.

原文链接:https://www.f2er.com/js/154083.html

猜你在找的JavaScript相关文章