Chrome将扩展设置存储在配置文件目录(此处为〜/ .config/google-chrome/Default/Preferences)中名为Preferences的JSON文件中。启用/禁用标志是每个分机的“状态”键,其中1表示启用,0表示禁用。在启动Chrome之前,您可以编写一个修改此文件的脚本。如果您想自动启动Chrome,可以将此脚本设置为在登录时运行,甚至可以在最后启动Chrome。存储要显式禁用预启动的扩展名列表,以便只选择其中的一部分。
我会确定您在Chrome运行时不更新首选项。
这适用于我,并且可能适用于任何* nix-like系统。移植到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)
嘿@Fred Nurk,我很感谢您花时间在Linux中编写脚本,但是如何将它转换为Windows,如VBScript或Powershell? – Jon 2011-06-09 03:08:42
@Jon:我不知道VB和Powershell。这是一个Python脚本,Python可以在Windows上运行。我列出了我认为是Windows所需的唯一更改,但我没有在这里检查。 – 2011-06-09 03:10:20
澄清它,谢谢。 – Jon 2011-06-09 03:14:23