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