如何识别破坏网站的 Chrome 扩展程序?

如何识别破坏网站的 Chrome 扩展程序?

最近,当我尝试在 Chrome 浏览器中登录 Discord 时,登录页面完全是空白的。

如果我以隐身模式打开页面,页面会正常加载,所以我知道这肯定与我的某个扩展程序发生冲突。但我怎么知道是哪一个呢?


有些人可能会建议:“打开开发者工具控制台,并查找错误。”

我尝试过,但看到以下错误:

Uncaught TypeError: Cannot read property 'innerText' of null
    at HTMLDocument.cookie (<anonymous>:17:58)
    at Object.<anonymous> (3833ed3856c1196040a1.js:41)
    at r (1cb060148fc2158935f3.js:1)
    at Object.<anonymous> (3833ed3856c1196040a1.js:32)
    [...]

然后,我打开了堆栈跟踪中的各种 Javascript 文件,但没有一个文件显示哪个扩展存在冲突。(它们只是 Discord 自己的脚本和“VM...”脚本)

对于这种情况(很难从错误/堆栈跟踪中识别问题扩展),识别它的最有效方法是什么?

答案1

我找到了一种非常有效的方法:

  1. 安装此扩展管理器扩展:https://chrome.google.com/webstore/detail/extensions-manager-aka-sw/lpleipinonnoibneeejgjnoeekmbopbc
  2. 单击扩展图标以打开弹出窗口。
  3. 右键单击弹出窗口顶部的“已启用”类别链接,然后按“在新选项卡中打开链接”。 (这样“弹出窗口”面板就会保持打开状态)
  4. 禁用该列表中的前半部分扩展。不要刷新此列表的页面!(您需要保留该列表,以便以后可以重新启用没有问题的扩展)
  5. 刷新原始网站,看看问题是否仍然出现。(即。二分查找
    A)如果没有,问题扩展就位于刚刚禁用的那一半,因此重新启用刚刚禁用的一半扩展,然后重新执行步骤 5。B
    )如果有,问题扩展一定位于仍然启用的那一半,因此禁用其中一半,然后重新执行步骤 5。
  6. 一旦您将列表缩小到单个条目,您就找到了问题扩展。您现在可以重新启用在搜索过程中禁用的所有其他扩展。(由于您保持列表页面打开,因此这很容易,因为它只显示开始时启用的扩展列表)

答案2

您可以通过浏览器开发者窗口中可见的扩展程序 ID 来识别导致网页中断的大多数扩展程序。例如:

  1. 我发现我的浏览器中的 JavaScript 运行不正常
  2. 我在网站上打开 devtools (f12),发现有此行为
  3. 我注意到了错误:在此处输入图片描述
  4. 我复制了id:cmkdbmfndkfgebldhnkbfhlneefdaaip
  5. 我将其输入到谷歌中:在此处输入图片描述

这里描述了另一种方法:如何通过 ID 在 Chrome 网上应用店中查找 Chrome 扩展程序

相关内容