如何在devtools中调试时禁用chrome扩展JS?

2jcobegt  于 2023-01-03  发布在  Go
关注(0)|答案(6)|浏览(270)

当我添加鼠标事件断点时,devtools总是跳转到扩展的JS。
有没有办法直接指向我的鼠标事件代码?

gcmastyq

gcmastyq1#

禁用脚本的唯一方法(例如,避免副作用)是禁用扩展(例如,如果扩展在匿名模式下未启用,则使用匿名模式)。
如果你不介意运行脚本,但想忽略扩展代码,那么你可以使用Chrome的devtools的脚本黑盒功能。
如果你从来没有开发过扩展,也不想尝试,那么打开devtools的设置菜单,点击Blackboxing,然后点击“Blackbox content scripts”复选框:

如果你只想选择性地忽略文件,那么你也可以右键点击你想忽略的文件源,然后点击“黑盒脚本”上下文菜单选项。要删除模式,请转到“黑盒”设置面板,如前所示。

eulz3vhy

eulz3vhy2#

我认为最简单的方法是打开一个 * 隐身窗口 *(Ctrl-Shift-N)(或Mac的Cmd-Shift-N)并在那里调试,因为这样就不会加载扩展(默认情况下)。
我知道你这个问题的意思:当调试时,做一些简单的事情,比如暂停执行,你总是会发现它会进入扩展的代码而不是当前网页的代码。

dldeef67

dldeef673#

打开开发者工具,然后转到设置,然后点击忽略列表,并选中复选框添加内容脚本忽略列表,然后添加此到忽略列表:^镀 chrome 扩展名://

iq3niunx

iq3niunx4#

如果您使用的是Google Chrome(或任何基于Chrome的浏览器),只需运行一个新的浏览器示例,其中包含一个新的用户数据目录。
在Linux上:

google-chrome --user-data-dir=$(mktemp -d)

这样,所有扩展都将被禁用,而不必手动关闭/打开它们。

vaqhlq81

vaqhlq815#

我喜欢使用配置文件
虽然更改为隐身模式可能会帮助您禁用大多数扩展,但其中一些扩展可能会被允许并仍然运行。例如,我在隐身模式下启用了DarkReader和Ublock。
我最喜欢的解决方法是使用一个"Guest"配置文件或创建一个可以用于调试的配置文件。我认为这比在devtools内部创建一个框架忽略列表要容易。
如何创建个人资料:https://support.google.com/chrome/answer/2364824
示例:My debugging profile

mpgws1up

mpgws1up6#

首先,您可能应该在这里回顾一下如何调试chrome扩展的教程:
http://code.google.com/chrome/extensions/tut_debugging.html
如果不确定,您可以直接在要启动调试器的JavaScript代码中使用debugger关键字,如下所示:

element.addEventListener("mouseover", function() {
    debugger;
    // some JS handler code...
});

根据您的JS是在弹出窗口、背景页面还是内容脚本中,您需要确保从正确的位置启动开发工具。
对于弹出窗口,您需要右键单击扩展图标和“InspectPopup”,然后从JavaScript控制台运行location.reload(true)
对于背景页面,您需要转到扩展设置页面chrome://settings/extensions,打开开发者模式,展开相关扩展并单击背景页面链接。
内容脚本应该可以直接从加载它的页面上看到。

相关问题