我的问题是,如果您有一个实际的扩展程序,那么其中一个扩展程序(适用于Chrome的手势)就可以很好地工作鼠标,但是在Ubuntu的触控板上,它只是挡住了路。
如果我在Ubuntu机器上禁用它,由于其内部同步机制,它在所有Chrome安装中都会被禁用。
问:我可以在一台计算机上选择性地禁用扩展吗?
#1 楼
基于安全考虑,Chrome浏览器不同步任何包含NPAPI插件的扩展程序。
来源
什么是NPAPI插件?
在NPAPI插件中运行的代码具有以下全部权限:当前用户,并且不会以任何方式对其进行沙盒检查或Google Chrome恶意输入屏蔽。在处理来自不受信任来源的输入时,例如在使用内容脚本或XMLHttpRequest时,您应该特别谨慎。
源
理论
如果我们以Chrome使用NPAPI识别扩展名的方式修改了扩展名,则应该没问题。
如何
首先,您需要来自任何NPAPI扩展名(如Screen Capture,由Google提供)的假.dll。由于Google决定放弃NPAPI支持,因此该扩展程序已从Google Play商店中删除。但这与我们的情况无关。幸运的是,官方的Screen Capture Wiki仍包含源代码。我们不需要完整的扩展名,仅需要NPAPI .dll
screen_capture.dll
即可。直接下载其次,转到不应同步的扩展程序文件夹。就您而言,适用于Chrome的手势。
..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk.12.1_0
按照Stackoverflow所述修改manifest.json文件并添加NPAPI插件,甚至在developer.chrome.com上更好地添加NPAPI插件
{
"name": "My extension",
...
"plugins": [
{ "path": "screen_capture.dll" }
],
...
}
修改您不想同步的扩展程序的background.html文件,这也在上面的Stackoverflow答案中进行了说明。
<embed type="application/x-my-extension" id="pluginId">
<script>
var plugin = document.getElementById("pluginId");
var result = plugin.myPluginMethod(); // call a method in your plugin
console.log("my plugin returned: " + result);
</script>
可能有必要以便将来通过
chrome://flags/#enable-npapi
重新启用NPAPI支持。从这里开始,您就是一个人。我对扩展编码不了解。
这就是为什么这是一种理论:)
评论
我喜欢它的独创性。唯一的缺点是,我需要为要在其上运行扩展程序的每台Windows计算机注册dll,但这并不是一件一件容易的事。
–增长
2013年1月9日在22:38
为什么不一次编辑文件,而是将每个FTP,USB记忆棒,Dropbox或其他文件的整个扩展文件夹复制到每台PC和笔记本电脑上?问题中是否有超过2台笔记本电脑和2台PC? .DLL是一个文件,您必须将其复制到该扩展文件夹中。之后,您必须编辑2个文件。理论上就是这样。
– nixda
13年1月9日在22:51
好的,Google已决定放弃对未来版本的NPAPI支持。
– nixda
13年9月24日在7:37
这不是一个好方法-它会阻止更新或在扩展程序获取更新时删除DLL。
–晕
2014年12月24日18:44
示例ddl的网址已损坏
– Ferrybig
18-09-25在17:49
#2 楼
可能这不是您要找的东西,但是您可以尝试一下。通过单击右上角的三行/扳手图标,在Chrome中打开设置菜单。现在打开“高级同步设置”。.现在,选择选项,选择要同步的内容,然后取消标记“扩展名”选项。现在,您的扩展程序将无法与其他PC同步。评论
不得不手动在多个实例之间保持19个扩展同步,只是因为我不想在多个实例之间同步单个扩展似乎有点不好。
–增长
2013年1月9日在16:18
正如我告诉您的那样,这不是您要找的东西,并且AFAIK尚无针对单个扩展的解决方案。如果有人知道会来帮助您。我也很想知道是否有可能。手动同步扩展名的最佳方法是创建一个带书签的文件夹,然后将自己喜欢的扩展名的书签放入书签中。
–avirk
2013年1月9日在16:22
当您只安装了几个扩展程序时,这绝对是比所有其他建议的hacks更用户友好的解决方案。
– jturcotte
14年6月13日在9:48
从我的角度来看,这并不理想,但是比将dll复制到新文件夹中要好得多。 +1
–stevemidgley
2014年8月22日23:58
好主意,如果您需要同步扩展,则可以暂时启用它,然后重新禁用一次,而不是每次都禁用。
–Jamie Pate
15年2月2日在18:02
#3 楼
您可以将所需的扩展安装为本地扩展。在启用了开发人员模式的情况下从
chrome://extensions
查找所需的扩展的ID。导航到Google安装目录。
Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\
{Extension_ID} \
{Version_Number} 将其保存在某处。也许是用户目录?
在启用开发人员模式的情况下返回
chrome://extensions
并按Load unpacked extension
。并导航至该扩展名的新副本。您应该看到您现在拥有该扩展名两次。禁用真正的扩展名。
我之所以说“禁用”,是因为这种方法有一个不好的方面,那就是您会丢失自动更新,并且每次更新时都需要一遍又一遍地重复上述步骤。
如果您不确定哪个是真实副本和新副本,请在ID标记下查找“加载自”:{Path_To_Your_Copy}
评论
迄今为止最好的答案。
– FreeAsInBeer
2014年6月10日18:55
比最简单的答案要简单得多...这显然非常有用
–马德林
2014年10月8日15:31
嗯,如果我在开发人员模式下安装扩展程序,则总是在启动时弹出一个窗口,要求我禁用此扩展程序
– nixda
2015年2月5日在20:06
嗯,一定是Google添加到Chrome稳定版中的东西。
– WORMSS
15年2月6日在9:27
#4 楼
我发现的另一个解决方案是使用Chrome中包含的策略机制。 Google提供了通过组策略管理扩展程序的可能性。通过将不需要的扩展名列入黑名单,我们已有效删除了此PC的同步。我们可以通过手动设置这些选项来利用这些知识。这是Windows PC的简短说明:
打开注册表编辑器(regedit)
导航至HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome-如果不存在,请创建
创建一个名为“ ExtensionInstallBlacklist”的新密钥,并添加新值(REG_SZ)并将其命名为“ 1”-如果已经存在,则将其命名为“ 2”,依此类推
将此值的数据设置为要删除的扩展名的ID
对于Linux OS:
如果不存在则创建文件
/etc/opt/chrome/policies/managed/policies.json
使用首选的文本编辑器打开文件
/etc/opt/chrome/policies/managed/policies.json
添加以下内容:
{"ExtensionSettings": { "PUT EXTENSION ID HERE": { "installation_mode": "blocked" } }
保存并关闭文件
执行此操作后,下次启动Chrome时,扩展名将被删除。这只会影响您所用的PC。我通过全新安装Chrome进行了检查。登录后,所有扩展都已加载-特别是我们在另一台PC上列入黑名单的扩展。
此策略设置的文档可在此处找到,还显示了不同操作系统的设置:
https://dev.chromium.org/administrators/policy-list-3#ExtensionInstallBlacklist
编辑1:
为Linux添加了说明(感谢sherbang in注释)
编辑2:
如Matt Scully所指出的,文档的更新URL:
https://cloud.google.com/docs/chrome-enterprise/ policy /?policy = ExtensionInstallBlacklist
评论
这个答案为我指明了正确的方向。在Linux上,创建文件/etc/opt/chrome/policies/managed/policies.json,并添加以下内容:{“ ExtensionSettings”:{“ PUT EXTENSION ID HERE”:{“ installation_mode”:“ blocked”}}
–sherbang
19-10-3在20:30
更新的文档链接位于:cloud.google.com/docs/chrome-enterprise/policies/…
–马特·斯库利(Matt Scully)
20年6月8日14:13
#5 楼
对我有用的一件事是,每当Chrome开始使用Chrome Task Manager时,手动终止该插件的过程。这可以通过以下方式实现:(在Mac上)菜单>更多工具>任务管理器
(在PC上)右键单击菜单栏>任务管理器或Shift + Esc
然后只需单击您不想运行的扩展,然后单击“结束进程”。
在工作中,我有两台计算机,但我不想在两者上都弹出Google环聊。唯一的坏事是每次启动chrome时都必须执行此操作。
评论
我发现此解决方案比其他解决方案更痛苦...但仍然是一种解决方案
– konzo
18-10-23在7:07
#6 楼
这不是一个绝对的答案,而是另一个可能要研究的问题。Chrome同步系统不允许以任何方式通过一台计算机自定义评级。并且任何在您的扩展范围内使用
disable/enable
的标志进行扩展的解决方案都将失败! 因为另一台同时使用相同用户帐户的计算机将反映出更改。
一种避免这种信息交换的方法是,他建议@avirk禁用扩展扩展同步,但看来此解决方案不适合您的环境。
然后,我将提出另外两个想法,可以采用这些想法来获得所需的结果:
创建第二个帐户将允许您自定义自己的扩展组(我个人使用的此解决方案在不同的计算机上具有不同的ScriptSafe配置文件)
另一个建议不太常规,可以认为是一个错误的技巧,但我将在每篇文章中都进行描述这样,以便您有更多选择。
导航到相关插件的文件夹:
.config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder
将内容清除到文件“ background_page.html”
“此示例仅适用于插件:Gestures for Chrome(TM)”
加载页面时会生成异常,那将不允许扩展程序中的事件代码可以正常运行。
因此,我们将对此扩展程序进行本地禁用。
请记住,每当您收到扩展程序的新更新时,您
必须在新版本的文件夹中重做此操作。
评论
我来这里是为了编辑我的帖子,而您已经发布了我的另一个解决方案,该解决方案很容易创建另一个帐户/个人资料以使用Chrome :)
–avirk
2013年1月14日15:10
这实际上对我来说非常方便,因为在我的特定情况下,我有一个仅在我的Chromebook上损坏的扩展程序,因此必须在其中禁用它,但是我想测试一个新版本,以查看是否它具有相同的错误。
– cjs
2015年10月20日,下午2:29
第二个选项听起来是最好的解决方案,因为它仅禁用了单台计算机的单个不需要的扩展名,这正是发布者所要的。
–丹·琼斯(Dan Jones)
16年8月11日在18:26
#7 楼
这是一个简单的解决方案(考虑到您有19个扩展名,并且只遇到一个或两个问题):在每台计算机上首次安装后:允许Google Chrome浏览器执行初始同步。
安装后,转到设置并禁用扩展同步。
删除所需的扩展。
这基本上将所有扩展保留在您的用户中,您可以手动编辑它们对于每台单独的计算机。
尽管我不得不承认以前的答案更有趣,但这可以解决您的问题,而无需过多的技术。
干杯!
#8 楼
这是一个相当老的问题,但仍然困扰着我。所以这是我自己的两分钱。您也许可以使用另一个扩展名来执行此操作。我本人一直在这两个插件之间切换:
“扩展管理器(又名Switcher)”
方便的扩展,应用程序和主题管理器。快速,轻松地启用,禁用,卸载扩展程序,应用程序。
或“ SimpleExtManager”
一个简单的菜单,用于启用,禁用和访问选项扩展名。
“简单”系列的另一个补充。这次是扩展程序
管理器。
功能包括:
用于启用/禁用,访问选项和通过弹出窗口卸载扩展程序的基本功能
/>自定义弹出窗口
创建扩展组的功能
通过弹出窗口和右键菜单启用/禁用扩展组
启用事件页面
我都喜欢这两个扩展,但是还没有到可以说出我最喜欢哪个扩展的地步。他们两个都经历了很大的发展并且经常更新。
评论
请在参考链接中引用答案的重要部分,因为如果链接页面发生更改,答案可能会失效。
–DavidPostill♦
15年7月18日在17:54
我不知道在插件页面上要引用什么,因为它们是扩展建议而不是真正的答案,但我希望我的编辑可以。
– qua
15年7月18日在21:29
只是为了检查..这些扩展都不能让您按计算机控制扩展,对吗?他们只是加快了在一台机器上不断关闭扩展名并在另一台机器上重新打开扩展名的过程吗?
–推荐人
17年4月26日在22:56
完全@apraetor可以完全选择要安装的功能,这是Chrome浏览器专用的功能,浏览器会同步该数据
– qua
17年4月27日在6:51
#9 楼
我打算评论Harry_Pootha的出色答案,这对我很有帮助,但是我在这里不是很活跃:)因此,有一种替代方法不依赖于通过Regedit浏览注册表。
在https://support.google.com/chrome/a/answer/187202?hl=zh_CN上,他们提供了有关如何将大量管理策略应用于Chrome的逐步指南。 ,包括黑名单策略
要查看Chrome策略的完整列表,请参阅策略模板zip文件(所有受支持的语言均可用)中的common /文件夹。
Windows上最重要的2个步骤:
步骤1:下载Chrome策略模板
Windows模板以及常见的有关所有操作系统的策略文档,请访问以下网址:
Google Chrome模板和文档的Zip文件。
步骤2:打开下载的ADM或ADMX模板
导航至“开始”>“运行”:g pedit.msc。 (或在终端中运行gpedit.msc)。
导航到“本地计算机策略”>“计算机配置”>“管理模板”。
右键单击“管理模板”,然后选择“添加/删除模板”。
添加镶边.adm模板。
完成后,如果Google / Google Chrome文件夹尚不存在,它将显示在管理模板下。如果您在Windows 7或10上添加了ADM模板,则该模板将显示在“经典管理模板” /“ Google” /“ Google Chrome”下。
对于Linux和Mac,还有其他指南链接在Google的页面上,所以最好从那里开始。
最后一步是实际启用策略并指定其内容。我发现最好的方法是转到新标签中的
chrome://policy/
,然后勾选“显示未设置值的策略”;这将显示可以使用组策略编辑器设置的所有可用策略,并且每个策略都链接到其文档。 请注意,在GP编辑器中,您要查找的策略使用上述文档中的长名。因此,将“配置扩展安装黑名单”设置为“已启用”,在策略设置GUI中单击“显示”,然后在其中添加所需的ID。
通过转到
chrome://extensions/
并勾选“开发人员模式”,您可以轻松找到扩展ID。在右上角。再次感谢Harry_Pootha的回答,它帮助我找到了所有这些内容并加以使用。
#10 楼
很有可能是一个方便的扩展程序,它列出了已安装的扩展程序(https://github.com/rbrahul/chrome-extension-manager),并允许您选择要禁用的扩展程序并将该列表保留在浏览器存储中将起作用。是的,它将全局禁用,但是在另一个位置,同一扩展名将使用不同的列表,因此启用了不同的扩展名。
好吧,如果您同时在另一台计算机上使用chrome(让我们说您的桌上有一台Mac,一台笔记本电脑,一台台式机,也许正在运行一些虚拟机)这可能是一团糟...
也许而不是禁用杀死进程,但我不确定甚至可以以编程方式进行。
评论
请阅读“如何推荐软件”以获取最少的必需信息,以及有关如何在“超级用户”上推荐软件的其他建议。为了使您的答案即使在包含的链接中断的情况下也有用,请在您的答案中编辑这些详细信息。
–我说恢复莫妮卡
18年3月20日在15:25
评论
点击Chrome设置下拉菜单->高级设置->高级同步设置->选择要同步的内容->取消选中同步扩展程序->确定。然后在每个设备上适当地设置扩展名。在Chrome 41版上为我工作。我知道这个问题很老,我遇到了类似的问题,但是我只想在一台机器上禁用所有扩展,但仍然让Chrome记住我的凭据,使用辅助gmail帐户