在 Chrome 20 及更早版本中,您只需.user.js
在 Chrome 中打开任何文件,它就会提示您安装用户脚本。
然而,在 Chrome 21 及更高版本中,它会下载文件,并在顶部显示一条警告,提示“扩展程序、应用程序和用户脚本只能从 Chrome 网上应用店添加”。
“了解更多”链接指向http://support.google.com/chrome_webstore/bin/answer.py?hl=zh-CN&answer=2664769,但该页面没有提及任何有关用户脚本的内容,只提及.crx
格式、应用程序和主题的扩展。
这部分听起来很有趣:
企业管理员:您可以指定允许直接通过以下方式安装扩展程序、应用和主题的 URL:政策
ExtensionInstallSources
。
因此,我运行了以下命令,然后重新启动了 Chrome 和 Chrome Canary:
defaults write com.google.Chrome ExtensionInstallSources -array "https://gist.github.com/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://gist.github.com/*"
遗憾的是,这些设置似乎只影响扩展、应用程序和主题(如文中所述),而不影响用户脚本。(我已经提交了错误要求该设置也影响用户脚本。)
关于如何在 Chrome 21+ 中安装私人用户脚本(我不想添加到 Chrome 网上应用店)有什么想法吗?
答案1
问题是 的gist.github.com
原始 URL 会重定向到不同的域。因此,我们必须改用以下命令:
# Allow installing user scripts via GitHub or Userscripts.org
defaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
这有效!
无论如何,这似乎是一个解决办法(感谢保罗·霍恩提示):
- 下载用户脚本。
- 打开
chrome://chrome/extensions/
。 - 将用户脚本文件拖放到您在步骤2中打开的页面上。
答案2
使用以下方式启动 Chrome开关--enable-easy-off-store-extension-install
。
使用命令行开关 (来自 Chromium.org):
在 Windows 上:
- 右键单击“Chrome”图标。
- 选择属性
- 在目标行的末尾,放置以下参数:
--enable-easy-off-store-extension-install
- 它看起来应该是这样的:
chrome.exe --enable-easy-off-store-extension-install
在 OS X 上:
/Applications/Chromium.app/Contents/MacOS/Chromium --enable-easy-off-store-extension-install
对于 Google Chrome,您需要转义空格,如下所示:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install
在 Linux 上:
chromium-browser --enable-easy-off-store-extension-install
答案3
好吧,我花了几个小时才搞清楚。我猜 Google 工程师认为,只有我们知道如何耍花招并绕过他们的障碍,我们才有资格安装不受信任的扩展程序。
中的说明Mathias 的回答看起来非常适合 Mac OS X,但我使用 Linux。以下是我在 Linux 上所做的操作,以便更轻松地(Chrome-21 之前的风格)安装全部第三方扩展、应用程序和用户脚本从任何网站:
创建策略目录(如果它尚不存在):
sudo mkdir -p /etc/opt/chrome/policies/recommended/
创建策略文件:
cd /etc/opt/chrome/policies/recommended/ sudo tee easy_install_extensions.json <<EOF { "ExtensionInstallSources": ["<all_urls>"] } EOF
重启 Chrome。通过 完全退出程序
menu -> Exit
;不要只关闭当前窗口。
资料来源:
- 这一页建议拖放,但对我来说不起作用
- 相关政策制定的文档
- URL 匹配模式规则
- 如何在 Linux 上设置 Chromium 策略
笔记:
<all_urls>
(上面使用的)是根据URL 匹配文档. 很高兴知道。- 根据Linux 政策文档,目录
/etc/opt/chrome/policies/{managed,recommended}/
包含 JSON 策略文件。如果条目发生冲突,managed
则覆盖recommended
。