通过JavaScript禁用Chrome扩展程序

4
有没有一种通过JavaScript禁用Chrome扩展程序的方法? 场景是:用户访问我的网页,JavaScript运行并检测到安装了名为“MyTestChromeExtension”的Chrome扩展程序,然后JavaScript禁用该Chrome扩展程序。
或者:在浏览网页时,经常会看到弹出窗口,当启用Chrome扩展程序AdBlock时,该弹出窗口会阻止用户访问网站,直到卸载扩展程序(我更喜欢这个方式)。
感谢您的帮助。

1
没有。扩展是用户偏好和浏览器 UI 的一部分,因此网站无法禁用它们。只有扩展可以禁用另一个扩展,并且即使如此也存在限制。 - wOxxOm
1个回答

0

有一些JavaScript可以使用,但有时它们不起作用,如果不行就放弃吧。

javascript:(function () {var a = document.createElement('script');a.src = 'https://cdn.jsdelivr.net/gh/FogNetwork/Ingot/ingot.min.js';document.body.appendChild(a);}())

复制这段代码,将其保存为书签,然后转到任何页面(不能在新标签页中),运行该书签。它会将您重定向到一个错误屏幕,点击重定向按钮,您就会看到它了。再次运行书签,您将看到已安装的扩展列表,其中有一个启用/禁用开关。如果您通过开关禁用它,它应该可以工作。如果不行就放弃吧。

另一个JavaScript:

javascript:void function(){"chrome.google.com"===location.hostname%26%26location.pathname.startsWith("/webstore")%3Fchrome.management.getAll(a=>{function b(a){chrome.webstorePrivate.getExtensionStatus(a.id,b=>{if("force_installed"===b){const b=prompt(你想对 ${a.name} 做什么?(启用/禁用));var c=""===a.homepageUrl%3F<b><a title="${a.description}">${a.name}</a></b>:<b><a href="${a.homepageUrl}" title="${a.description}">${a.name}</a></b>,d="";"disable"===b.toLowerCase()%3F(chrome.management.setEnabled(a.id,!1),d+=<p>已禁用 ${c}</p>):"enable"===b.toLowerCase()%3F(chrome.management.setEnabled(a.id,!0),d+=<p>已启用 ${c}</p>):alert("无效选项,请重试!"),document.body.innerHTML+=d}})}document.body.innerHTML="",document.write("\n<link rel="preconnect" href="https://fonts.googleapis.com">\n<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>\n<link href="https://fonts.googleapis.com/css2%3Ff..." rel="stylesheet">\n\n body {\n font-family: 'Montserrat', sans-serif;\n }\n a {\n text-decoration: none;\n color: blue\n }\n p {\n margin: 0px\n }\n\n<h1 style="text-align: center">扩展面板\n"),a.forEach(a=>b(a))}):(alert("请再次运行此脚本,但在此页面上运行"),location.href="https://chrome.google.com/webstore_")}();

你想要复制这个,然后做同样的事情,将它保存为书签,在任何不是新标签页的页面上,它会显示一个错误屏幕,再次运行书签,它会询问你想要做什么,要到达你想要的扩展程序,点击取消直到看到名称,然后在文本框中输入“disable”。如果不起作用,就放弃吧。

如何知道是否有效: 如果该扩展程序被固定,一旦运行 JavaScript,它将消失。如果没有,请检查您的扩展程序,如果您没有看到它,那么它已经生效了。如果您看到了它,那么它没有生效,所以请放弃。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接