如何通过控制台启用/禁用 google chrome 扩展

2023-11-24

今天,在打开 Google Chrome 时,我意识到没有简单的方法可以在不前往以下位置之一的情况下启用或禁用扩展:

  1. chrome://扩展
  2. 单击工具>扩展>启用/禁用

这之所以如此重要,是因为它占用的资源。

例如:我将启动我的计算机,我立即想快速打开 Google Chrome。举例来说,我在打开 Chrome 之前正在运行 100 个进程。然而,一旦我打开 Chrome,这个数字就会跳到 160,因为它启动时会加载所有扩展。

这是我希望实现的目标和当前的限制:

期望的结果:使用控制台轻松启用/禁用/卸载扩展

限制:无法对许多扩展进行分组,以便轻松启用/禁用它们

如果这部分问题不允许/偏离主题,请告诉我


Chrome 将扩展程序设置存储在您的个人资料目录中名为 Preferences 的 JSON 文件中(此处为 ~/.config/google-chrome/Default/Preferences)。启用/禁用标志是每个分机的“状态”键,1 表示启用,0 表示禁用。您可以在启动 Chrome 之前编写一个修改此文件的脚本。您可以将此脚本设置为在登录时运行,如果您想自动启动 Chrome,甚至可以在最后启动 Chrome。存储您想要显式禁用预启动的扩展程序列表,以仅选择其中的某些扩展程序。

我会确保您在 Chrome 运行时不会更新偏好设置。

这对我有用,并且可能适用于任何类似 *nix 的系统。移植到 Windows 应该相当简单:chrome_dir 和检查 Chrome 是否正在运行可能是唯一需要的更改。

#!/usr/bin/env python2.6

import datetime
import json
import os
import sys
from os import path

chrome_dir = path.expanduser("~/.config/google-chrome")
if path.lexists(chrome_dir + "/SingletonLock"):
  # there may be a better and portable way to determine if chrome is running
  sys.exit("chrome already running")

prefs_file = chrome_dir + "/Default/Preferences"
now = datetime.datetime.now()
prefs_backup_file = prefs_file + now.strftime("-%Y%m%d-%H%M%S")

enable_keys = [
  # list hash keys, you can find from URL given on chrome://extensions
  "aeoigbhkilbllfomkmmilbfochhlgdmh",
  ]
disable_keys = [
  "hash-like key here",
  ]

default_state = 0
# 1 to enable, 0 to disable, None to leave alone

with open(prefs_file) as f:
  prefs = json.load(f)
os.rename(prefs_file, prefs_backup_file)

for key, ext in prefs["extensions"]["settings"].iteritems():
  if not ext.has_key("state"):
    # may be blacklisted
    continue

  if key in enable_keys:
    ext["state"] = 1
  elif key in disable_keys:
    ext["state"] = 0
  elif default_state is not None:
    ext["state"] = default_state

with open(prefs_file, "w") as f:
  json.dump(prefs, f)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过控制台启用/禁用 google chrome 扩展 的相关文章

随机推荐

  • 是否可以将新文件写入 iOS 应用程序中的捆绑资源目录?

    是否可以将新文件写入 iOS 应用程序中的捆绑资源目录 不 无法在捆绑目录中写入 因为捆绑目录是使用 SSL 证书签名的代码 并且您无法破坏它 但是你可以轻松地在 iPhone 应用程序的文档目录中写入 您可以使用以下命令获取文档目录路径
  • 将强制转换应用于整数和浮点除法的结果:这里发生了什么?

    我是一个初学者 有些东西对我来说没有多大意义 请好心人解释一下我哪里出错了 如果之前有人问过这个问题 我很抱歉 这里小数点的存在意味着这些是使用浮点除法来计算的 System out println 1 3 0 this prints 0
  • Javascript计时器进度条

    我有定时器功能 有进度条 它工作得很好 但我想制作一个平滑的进度条动画 帧速率为 60 FPS function started duration var TotalSeconds 40 var documentWidth document
  • 如何在 spring-boot 应用程序启动期间创建多个 kafka 主题?

    我有这样的配置 Configuration public class KafkaTopicConfig private final TopicProperties topics public KafkaTopicConfig TopicPr
  • Android NDK - 找不到库无法链接可执行文件 - 如何设置 LD_LIBRARY_PATH?

    我有一个 Android 活动 我正在其中执行 NDK 编译的代码 命令行程序 Runtime getRuntime exec myCommand 并加载所需的共享库 static System loadLibrary myLib 但是当运
  • 存在多个 AJAX 刷新和 TinyMCE 问题

    所以我就陷入了这样的困境 上面是在我的PHP页面上调用的 然后我打电话 var request ajax url getEvents php type POST data method showevents dataType
  • Docker-Compose 容器 IP 地址和容器名称

    我的 docker compose 有两个服务 和 docker compose yml 定义环境变量 ip 地址和容器名称 version 2 services api build api command python3 manage p
  • 重复的 HTTP 响应标头是否可以接受?

    我还没有找到任何关于标准是否允许重复的 HTTP 响应头的规范 但我需要知道这是否会导致兼容性问题 假设我有一个像这样的响应标头 HTTP 1 1 302 Moved Temporarily Server Apache Coyote 1 1
  • Zend Form SetAction 使用命名路由

    我有一个表格 我正在尝试为其设置操作 我想使用我在引导程序中创建的路由在表单文件 扩展 Zend Form 中而不是在控制器或视图中声明操作 通常当我想使用路线时我会做类似的事情 this gt url array route name 在
  • Spring @QuerydslPredicate 问题

    使用的库 Spring Boot 1 3 2 RELEASE 查询DSL 3 7 2 QueryDSL Maven 插件 1 1 3 休眠 4 3 11 Final Issue 目前 我有一个 Spring Boot 应用程序 它具有使用
  • 在 Android 地图中的 geo:-url 处显示标记

    Android 上的 Google 地图是否不仅可以在地图应用程序中显示给定坐标 还可以在该位置设置标记 或图钉 我阅读了文档https developer android com guide appendix g app intents
  • 客户端文件创建和下载

    我们正在使用 fusioncharts 它能够在客户端使用 javascript 导出 csv 数据 我们希望能够获取该数据并在浏览器中动态创建文件 那可能吗 如何 尝试下面的代码允许您访问客户端文件系统 但这仅适用于 IE 浏览器
  • NetBeans 中 Java EE 项目中的默认 index.jsp 文件在哪里?

    我在 NetBeans 中创建一个简单的 Web 应用程序 名为 WebApplication1 已创建一个文件 名为index jsp 当我运行应用程序时 浏览器会转到index jsp 项目中没有任何地方将其称为欢迎页面 那么那里进展如
  • ios uitableview 在滚动时淡入底部单元格和顶部单元格

    当我的 uitableview 的单元格滚动到视图之外时 我会淡出它们 或者当它们滚动到视图中时 我会淡入它们 我面临的问题是 如果我滚动得非常快 有时完全可见的单元格会保持灰色 下面是我的代码 void scrollViewDidScro
  • Starteam 到 X 的迁移? (其中 X 是以下之一:svn/git/hg/bzr ...)

    是否有工具可以将 Starteam 迁移到 svn 或 git 或任何其他现代 体面的源控制系统 我正在考虑一些类似的事情git svn作品 允许您使用 git 从 svn 存储库中拉取 可以导入 StarTeam 存储库并将其转换为 sv
  • 使用 oledb 命令从 Excel 中读取数据

    在下面的代码中 而不是指定选项卡名称 我们是否可以只说 select from tab1 选项卡名称可能是什么 OleDbCommand excelOledbCommand new OleDbCommand Select From Shee
  • 使用引用参数嵌套调用 consteval 函数

    下面的程序 template
  • 通过命令行进行文件夹比较

    我想比较 Windows Vista XP 上的两个文件夹 其中有大量大文件 我需要比较它们 如果我使用Beyond Compare或者类似的工具来比较文件夹 如果我手动进行的话会花费很多时间 我需要将该文件夹比较添加到批处理文件中 那么在
  • 如何估计 GIF 文件大小?

    我们正在建立在线视频编辑服务 其中一项功能允许用户将视频中的一小段导出为动画 gif 伊姆古尔有一个文件大小限制每个上传的 gif 动画大小为 2Mb Gif 文件大小取决于帧数 颜色深度和图像内容本身 纯色的平面颜色会产生非常轻量级的 g
  • 如何通过控制台启用/禁用 google chrome 扩展

    今天 在打开 Google Chrome 时 我意识到没有简单的方法可以在不前往以下位置之一的情况下启用或禁用扩展 chrome 扩展 单击工具 gt 扩展 gt 启用 禁用 这之所以如此重要 是因为它占用的资源 例如 我将启动我的计算机