风也很温柔 发表于 2023-5-30 11:13:42

自动按下F12,打开开发者工具

# 前言

在学习JS时总是需要Open with Live Server,然后按下F12进行观察调试才能看到效果,就在琢磨可不可以通过油猴脚本自动实现模拟按下F12,发现还是太天真了

# 问题

```
(function() {
    'use strict';

    // Your code here...
    // 创建自定义事件对象
    window.addEventListener('load', function() {
      var event = new KeyboardEvent('keydown',{
            key: 'F12',
            keyCode: 123,
      });

      window.dispatchEvent(event);
      console.log('F12被按下');
    });

})();
```

感觉实现逻辑没问题,然后搜索了下论坛发现有坛友之前提出过该问题,也是,如果通过油猴脚本就可以随意触发浏览器功能确实乱套了,但距离上次问题提出过去了大半年,不知道现在有没有正解

感谢大佬们的耐心解答,谢谢

steven026 发表于 2023-5-30 11:35:10

没有 控制台是浏览器层面 网页层面做不到 越权了

李恒道 发表于 2023-5-30 11:59:32

没办法的
毕竟也算是为了安全

风也很温柔 发表于 2023-5-30 13:52:28

额嗯,好的,放弃考虑了,谢谢解答

cxxjackie 发表于 2023-5-30 21:02:39

换种思路,可以设置一下把控制台放到单独的窗口中,或者自制一个简易的文本框来显示消息,还可以借助一个由腾讯开发的库来实现:VConsole
const vConsole = new VConsole({
    onReady() {
      vConsole.show();
    }
});这个库原本是用于移动端调试的,在油猴上使用存在一些问题,比如window.console与unsafeWindow.console不是同一引用,而库是通过劫持console实现的,这导致捕获到的输出只有一部分(取决于引入方式)。

shabby 发表于 2023-5-31 10:05:45

使用命令行参数就可以打开

```shell
chrome.exe --auto-open-devtools-for-tabs
```

wjy0 发表于 2023-5-31 18:22:09

shabby 发表于 2023-5-31 10:05
使用命令行参数就可以打开

```shell


正解,昨晚想说没说

风也很温柔 发表于 2023-6-1 09:44:52

cxxjackie 发表于 2023-5-30 21:02
换种思路,可以设置一下把控制台放到单独的窗口中,或者自制一个简易的文本框来显示消息,还可以借助一个由 ...

额,才疏学浅弄不出来效果,一是看不懂,二是实践不来,谢谢参与讨论

风也很温柔 发表于 2023-6-1 09:46:59

shabby 发表于 2023-5-31 10:05
使用命令行参数就可以打开

```shell


搜查了下Chrome浏览器命令行参数,确实有这个命令,不过自己试验了下达不成这样的效果:通常需要匹配自动打开开发者工具的主机号:127.0.0.1,这个可以怎么做

风也很温柔 发表于 2023-6-1 09:49:10

wjy0 发表于 2023-5-31 18:22
正解,昨晚想说没说

主要是想达成在主机号为:127.0.0.1时自动打开开发者工具,最好还有关闭和启动该项功能的开关,为了初学JS更加人性化
页: [1]
查看完整版本: 自动按下F12,打开开发者工具