我在4个不同的工作站上使用Chrome,并且所有扩展程序都已同步。
我的问题是,如果您有实际的鼠标,则其中一个扩展(Chrome的Gestures)可以很好地工作,但是在Ubuntu的触控板上,它会遇到麻烦。
如果我在Ubuntu计算机上将其禁用,则由于其内部同步机制,它在所有Chrome安装中均被禁用。
问:是否可以仅在一台计算机上选择性地禁用扩展?
我在4个不同的工作站上使用Chrome,并且所有扩展程序都已同步。
我的问题是,如果您有实际的鼠标,则其中一个扩展(Chrome的Gestures)可以很好地工作,但是在Ubuntu的触控板上,它会遇到麻烦。
如果我在Ubuntu计算机上将其禁用,则由于其内部同步机制,它在所有Chrome安装中均被禁用。
问:是否可以仅在一台计算机上选择性地禁用扩展?
Answers:
基于安全方面的考虑,Chrome浏览器不会同步包含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\1.12.1_0
修改manifest.json文件,并按Stackoverflow所述添加NPAPI插件,甚至最好在developer.chrome.com上添加
{
"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>
它可能需要重新启用NPAPI支持,通过在未来chrome://flags/#enable-npapi
从这里开始,您自己一个人。我对扩展编码还不了解。
这就是为什么这是一个理论:)
可能这不是您想要的,但是您可以尝试一下。通过单击右上角的三行/扳手图标,在Chrome中打开设置菜单。现在打开高级同步设置。
现在选择选项,选择要同步的内容,然后取消标记扩展选项。现在,您的扩展程序将不会与其他PC同步。
您可以将所需的扩展安装为本地扩展。
找到启用chrome://extensions
了开发人员模式的扩展所需的ID 。
导航到您的Google安装目录。Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\
{Extension_ID} \
{Version_Number}
将其保存在某处。
返回启用chrome://extensions
了开发人员模式的状态,然后按Load unpacked extension
。并导航到扩展名的新副本。
您应该看到您的扩展现在的两倍.. 禁用真正的一个。
我之所以说“ 禁用”,是因为这种方法有一个不好的方面,那就是您会丢失自动更新,并且每次更新时都需要一遍又一遍地重复上述步骤。
如果您不确定哪个是真实副本和新副本,请在ID标记下查找Loaded from:{Path_To_Your_Copy}
这不是一个绝对的答案,而是另一个研究该问题的前途。
Chrome同步系统不允许以任何方式通过一台计算机自定义评级;而且任何带有额外扩展名且disable/enable
在您的扩展范围内运行的解决方案都将失败!
因为同时使用同一用户帐户的另一台计算机将反映更改。
避免这种信息交换的一种方法是,他建议@avirk禁用扩展扩展同步的程度如何,但是看来此解决方案不适合您的环境。
然后,我将提出另外两个想法,可以采用这些想法来获得所需的结果:
另一个建议不太常规,可以认为是一个不错的技巧,但是我将以各种方式对其进行描述,以便您有更广泛的选择。
.config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder
并将内容清除到文件“ background_page.html”中这将在加载页面时生成异常,这将导致扩展程序中的事件代码无法正确运行。 因此,我们将对此扩展禁用本地功能。
请记住,每当您收到扩展的新更新时,都必须在新版本文件夹中重做此操作。
我发现的另一个解决方案是使用Chrome中包含的策略机制。Google提供了通过组策略管理扩展的可能性。通过将不需要的扩展名列入黑名单,我们已有效删除了此PC的同步。我们可以通过手动设置这些选项来利用这些知识。
这是Windows PC的简短说明:
这样,下次您启动Chrome时,扩展程序将被删除。这只会影响您所用的PC。我通过全新安装Chrome进行了检查。登录后,所有扩展都已加载-特别是我们在另一台PC上列入黑名单的扩展。
可以在此处找到此策略设置的文档,还显示了不同操作系统的设置:
http://dev.chromium.org/administrators/policy-list-3#ExtensionInstallBlacklist
/etc/opt/chrome/policies/managed/policies.json
,并添加以下内容:{ "ExtensionSettings": { "PUT EXTENSION ID HERE": { "installation_mode": "blocked" } }
这是一个相当老的问题,但仍然困扰着我。这是我自己的两分钱。
您可能可以使用另一个扩展名来执行此操作。我本人一直在这两个插件之间切换:“ Extensions Manager(aka Switcher) ”
方便的扩展程序,应用程序和主题管理器。轻型弹出管理器可快速,轻松地启用,禁用,卸载扩展程序,应用程序。
或“ SimpleExtManager ”
一个简单的菜单,用于启用,禁用和访问扩展选项。“简单”系列的另一个补充。这次是扩展经理。
功能包括:
- 基本功能,通过弹出窗口启用/禁用,访问选项和卸载扩展
- 自定义弹出窗口
- 创建扩展组的能力
- 通过弹出菜单和右键菜单启用/禁用扩展组
- 活动页面已启用
我喜欢这两个扩展,但还没到可以说出我最喜欢哪个扩展的地步。他们两个都经过大量的开发并且经常更新。
我打算评论Harry_Pootha的出色回答,这对我很有帮助,但是我在这里不太活跃:)
因此,存在另一种方法,该方法不依赖于通过Regedit导航注册表。
在https://support.google.com/chrome/a/answer/187202?hl=zh_CN上,他们提供了有关如何将各种管理政策(包括黑名单政策)应用于Chrome的逐步指南。
要查看Chrome策略的完整列表,请查看策略模板 zip文件(所有受支持的语言均提供)中的common /文件夹。
对于Windows,最重要的2个步骤是:
步骤1:下载Chrome政策模板
可在以下位置找到Windows模板以及所有操作系统的通用策略文档:
步骤2:打开您下载的ADM或ADMX模板
- 导航到“开始”>“运行”:gpedit.msc。(或在终端中运行gpedit.msc)
- 导航到本地计算机策略>计算机配置>管理模板。
- 右键单击“管理模板”,然后选择“添加/删除模板”。
- 通过对话框添加chrome.adm模板。
- 完成后,如果Google / Google Chrome文件夹尚未存在,它将显示在管理模板下。如果您在Windows 7或10上添加了ADM模板,它将显示在“经典管理模板” /“ Google” /“ Google Chrome”下。
对于Linux和Mac,Google的页面上链接了其他指南,因此最好从那里继续进行。
最后一步是实际启用策略并指定其内容。我发现最好的方法是转到chrome://policy/
一个新选项卡,然后勾选“显示未设置值的策略”;这将显示可以使用组策略编辑器设置的所有可用策略,并且每个策略都链接到其文档。
请注意,在GP编辑器中,您要查找的策略使用上述文档中的长名称。因此,将“配置扩展安装黑名单”设置为Enabled,在策略设置GUI中单击Show,然后在其中添加所需的ID。
您可以转到chrome://extensions/
右上角的“开发人员模式”并在其上打勾,从而轻松找到扩展程序ID 。
再次感谢Harry_Pootha的回答,帮助我找到了所有这些内容并加以使用。
很有可能是一个方便的扩展程序,它列出了已安装的扩展程序(https://github.com/rbrahul/chrome-extension-manager),并允许您选择要禁用的扩展程序并将该列表保留在浏览器存储中将起作用。是的,它将全局禁用,但是在另一个位置,同一扩展名将使用不同的列表,因此启用了不同的扩展名。
好吧,如果您同时在另一台计算机上使用chrome(例如,您的桌上有Mac,笔记本电脑,台式机,也许正在运行某些虚拟机),那可能是一团糟...
也许可以禁用禁用进程,但是我不确定是否可以通过编程来执行。