Jon*_*Jon 7 google-chrome-extension google-chrome-devtools
今天,在打开谷歌浏览器时,我意识到没有简单的方法来启用或禁用扩展,而无需访问以下位置之一:
之所以如此重要,是因为它占用了资源.
例如:我将启动计算机,我立即想要快速打开Google Chrome.比方说,我打开Chrome之前运行100个进程.但是,一旦我打开Chrome,该数字会跳转到160,因为它启动时会加载所有扩展名.
以下是我要实现的目标和当前的局限性:
期望的结果: 使用控制台轻松启用/禁用/卸载扩展
限制: 无法对多个扩展进行分组,因此可以轻松启用/禁用它们
如果这部分问题不允许/不允许,请告诉我
Fre*_*urk 10
Chrome将扩展程序设置存储在您的个人资料目录中名为"首选项"的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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22665 次 |
| 最近记录: |