如何解决Chrome扩展程序-调试模式后清除信息栏标签
在最新版本的基于Chrome的浏览器中,出于某些原因(可能不是错误,这是一个功能),在分离调试模式后,Chrome会留下此通知:
“程序开始调试该浏览器”
基本上,我运行这段代码
let debugee = {tabId: sender.tab.id};
chrome.debugger.attach(debugee,'1.2',()=>{});
chrome.debugger.detach(debugee);
然后看上面的图片。 Chrome在detach
上删除了此通知,直到版本80左右。
我找到了问题的描述: https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/app/generated_resources.grd
<!-- DevTools attached infobar -->
<message name="IDS_DEV_TOOLS_INFOBAR_LABEL" desc="Label displayed in an infobar when external debugger is attached to the browser. The label does not disappear until the user dismisses it,even if the debugger is detached,and so should not imply that the debugger must still be debugging the browser,only that it was,and could still be.">
"<ph name="CLIENT_NAME">$1<ex>Extension Foo</ex></ph>" started debugging this browser
</message>
我正在寻找有关如何通过chrome扩展程序自动清除或禁用此消息的建议。
解决方法
TL; DR没有这样的方法。
Chrome中的新行为是针对安全问题进行的笨拙修复的结果:恶意扩展程序可以通过chrome.debugger API迅速造成很多损害,而且即使在Windows 2000中执行工作,也没人会知道发生了什么不到100毫秒。
由于涉及安全问题,因此不会恢复旧的行为,但是他们同意UI应该至少反映当前的调试器状态,请参见https://crbug.com/1096262。他们当前的计划是,如果扩展已脱离,则在显示> = 5秒后自动关闭信息栏,并更新按钮/字符串以使其与状态保持同步。
一种解决方法是使用--silent-debugger-extension-api
命令行开关运行chrome。从某种意义上说,这是一个危险的开关,您必须小心,不要立即或在更新时安装使用debugger
权限的恶意扩展。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。