开启Chrome开发者工具控制台时为何打印inject.js loaded?
问题描述
每次打开Chrome开发者工具切换到控制台标签时,都会打印inject.js loaded消息。比如打开以下HTML代码:
<!DOCTYPE html> <html> <head> <script> for (let i = 0; i < 5; i++) { console.log(i); } </script> </head> <body> for statement </body> </html>
控制台会输出0、1、2、3、4,最后还会打印inject.js loaded;但在Chrome隐私模式下运行同一段代码时,却不会出现这条消息。已知该消息来自inject.js中的console.log('inject.js loaded'),请问为何未创建该文件却会运行它?为何隐私模式下不打印?
原因分析
- 未创建文件却运行的原因:
inject.js是你安装的某个Chrome扩展程序自动注入的脚本。不少扩展(比如广告拦截工具、页面增强插件、调试类扩展)会在普通模式下打开的页面中注入自定义脚本以实现功能,这个文件并非你手动创建,而是由扩展程序添加到页面中的。 - 隐私模式下不打印的原因:Chrome隐私模式默认会禁用所有扩展程序(除非你手动在扩展设置中允许特定扩展在无痕模式下运行)。扩展被禁用后,就不会再向页面注入
inject.js脚本,因此控制台不会出现这条日志。
内容的提问来源于stack exchange,提问作者Park
相关产品推荐
相关产品推荐

