今天,在打开 Google Chrome 时,我意识到没有简单的方法可以在不前往以下位置之一的情况下启用或禁用扩展:
- chrome://扩展
- 单击工具>扩展>启用/禁用
这之所以如此重要,是因为它占用的资源。
例如:我将启动我的计算机,我立即想快速打开 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(使用前将#替换为@)