如何在 Chrome 21+ 中安装私人用户脚本?

Mat*_*ens 61 google-chrome userscripts

在 Chrome 20 及更早版本中,您可以简单地.user.js在 Chrome 中打开任何文件,它会提示您安装用户脚本。

但是,在 Chrome 21 及更高版本中,它会改为下载文件,并在顶部显示警告“扩展程序、应用程序和用户脚本只能从 Chrome 网上应用店添加”。

截屏

“了解详情”链接指向http://support.google.com/chrome_webstore/bin/answer.py?hl=zh-CN&answer=2664769,但该页面没有说明任何关于用户脚本的内容,仅介绍了扩展程序的.crx格式,应用程序和主题。

这部分听起来很有趣:

企业管理员:您可以指定被允许直接通过安装扩展程序,应用和主题网址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/*"
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这些设置似乎只影响扩展程序、应用程序和主题(如文中所述),而不影响用户脚本。(我已经提交了一个错误,要求使此设置也影响用户脚本。)

关于如何在 Chrome 21+ 中安装私人用户脚本(我不想添加到 Chrome 网上应用店)的任何想法?

Mat*_*ens 37

问题是gist.github.com's raw URLs 重定向到不同的域。因此,我们必须改用这些命令:

# 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/*"
Run Code Online (Sandbox Code Playgroud)

这有效!


无论如何,这似乎是一种解决方法(感谢Paul Horn的提示):

  1. 下载用户脚本。
  2. 打开chrome://chrome/extensions/
  3. 将用户脚本文件拖放到您在步骤 2 中打开的页面上。


小智 36

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

  • 对于谷歌浏览器,你需要像这样转义空格: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

在 Linux 上:

  • chromium-browser --enable-easy-off-store-extension-install


We *_*ica 10

好吧,这花了我几个小时的时间才弄明白。我猜谷歌工程师认为,如果我们能弄清楚如何做技巧并跳过他们的圈套,我们就应该安装不受信任的扩展。

Mathias 的回答中的说明看起来适用于 Mac OS X,但我使用的是 Linux。以下是我在 Linux 上所做的,以便从任何网站更轻松地(Chrome-21 之前的风格)安装所有第三方扩展程序、应用程序和用户脚本:

  1. 创建策略目录(如果它不存在):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建策略文件:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重新启动 Chrome。通过 完全退出程序menu -> Exit;不要只是关闭您当前的窗口。


资料来源:

笔记:

  • <all_urls>(上面使用)是根据URL 匹配 docs的特殊模式。很高兴知道。
  • 根据Linux 策略文档,目录/etc/opt/chrome/policies/{managed,recommended}/包含 JSON 策略文件。如果条目冲突,则managed覆盖recommended.

  • 我不知道 `&lt;all_urls&gt;` — 非常有用。谢谢! (2认同)