手动将用户脚本添加到Google Chrome


161

我没有在网络上找到许多教程来手动添加,而没有“安装”用户脚本。他们所有人都告诉我要执行相同的步骤:

  • 将目录设置为C:\ Users \ Blabla \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ User Scripts
  • 在其中放置一个.js文件,其中包含用户脚本
  • 使用参数--enable-user-scripts启动Chrome

我这样做了-但是我的演示脚本没有做任何事情:

// ==UserScript==
// @name           Test
// @description    Test
// @include        http://example.com/*
// @version        1.0
// ==/UserScript==

alert(0);

我究竟做错了什么?


2
用户脚本目录支持已在2011年删除。请参阅“用户脚本”目录是否仍适用于Chrome 13.0 ?:http://stackoverflow.com/questions/6968469/does-the-user-scripts-directory-still-work-with- chrome-13-0#comment8333680_6979021
XP1

Answers:


240

最好的办法是安装Tampermonkey扩展

这将使您轻松安装Greasemonkey脚本,并轻松管理它们。此外,它还使直接从OpenUserJSMonkeyGuts等网站直接安装用户脚本变得更加容易。

最后,它可以通过直接在Chrome中安装GM脚本来解锁您无法获得的大多数GM功能。也就是说,Tampermonkey提供了Firefox上GM可以做的更多事情。


但是,如果您真的想直接安装GM脚本,这些天在Chrome 上就很容易遇到痛苦...

Chrome在大约2014年8月之后:

您仍然可以将文件拖到扩展名页面上,它将起作用... 直到重新启动Chrome。然后它将被永久禁用。有关更多信息,请参见继续“保护” Chrome用户免受恶意扩展。同样,坦佩蒙奇(Tampermonkey)是明智的选择。(或将浏览器完全切换到Opera或Firefox。)

Chrome 21+:

Chrome正在改变扩展程序的安装方式。用户脚本是Chrome上的简化扩展程序。从Chrome 21开始,对用户脚本禁用链接单击行为。要安装用户脚本,请将**。user.js *文件拖到扩展页面(chrome://extensions在地址输入中)。

较旧的Chrome版本:

只需将**。user.js *文件拖到任何Chrome窗口中即可。或单击任何Greasemonkey脚本链接。

您将收到安装警告:
初步警告

点击继续


您将看到一个确认对话框:
确认对话框

点击添加


笔记:

  1. 与Greasemonkey(Firefox)脚本或Tampermonkey脚本相比,以这种方式安装的脚本具有局限性。请参阅跨浏览器用户脚本,Chrome部分

控制脚本和名称:

默认情况下,Chrome会将脚本安装在Extensions文件夹1中,该脚本充满了神秘的名称和版本号。而且,如果您尝试在此文件夹树下手动添加脚本,则下次Chrome重新启动时,该脚本将被擦除。

要将目录和文件名控制为更有意义,可以执行以下操作:

  1. 创建一个方便您的目录,而不是Chrome通常在其中查找扩展程序的目录。例如,创建:C:\MyChromeScripts\

  2. 为每个脚本创建自己的子目录。例如,HelloWorld

  3. 在该子目录中,创建或复制脚本文件。例如,将此问题的代码另存为:HelloWorld.user.js

  4. 您还必须在该子目录中创建一个清单文件,该清单文件必须命名为:manifest.json

    对于我们的示例,它应包含:

    {
        "manifest_version": 2,
        "content_scripts": [ {
            "exclude_globs":    [  ],
            "include_globs":    [ "*" ],
            "js":               [ "HelloWorld.user.js" ],
            "matches":          [   "https://stackoverflow.com/*",
                                    "https://stackoverflow.com/*"
                                ],
            "run_at": "document_end"
        } ],
        "converted_from_user_script": true,
        "description":  "My first sensibly named script!",
        "name":         "Hello World",
        "version":      "1"
    }

    manifest.json文件被自动从由铬的元块,安装了用户脚本时生成的。的价值@include@exclude元规则存储在include_globsexclude_globs@match(推荐)存储在matches列表中。"converted_from_user_script": true如果要使用任何受支持的GM_*方法,则必需。

  5. 现在,在Chrome的扩展程序管理器(URL = chrome:// extensions /)中,展开“开发人员模式”

  6. 单击加载解压缩的扩展...按钮。

  7. 对于该文件夹,请粘贴脚本的文件夹,在本示例中为:C:\MyChromeScripts\HelloWorld

  8. 您的脚本现已安装并可以运行!

  9. 如果您对脚本源进行了任何更改,请单击“ 重新加载”链接以使它们生效:

    重新加载链接




1文件夹默认为:

Windows XP:
  Chrome:%AppData%\ .. \ Local Settings \ Application Data \ Google \ Chrome \ User Data \ Default \ Extensions \
  Chromium:%AppData%\ .. \ Local Settings \ Application Data \ Chromium \ User Data \ Default \ Extensions \

Windows Vista / 7/8:
  Chrome:%LocalAppData%\ Google \ Chrome \ User Data \ Default \ Extensions \
  Chromium:%LocalAppData%\ Chromium \ User Data \ Default \ Extensions \

Linux:
  Chrome:〜/ .config / google-chrome / Default / Extensions /
  Chromium:〜/ .config / chromium / Default / Extensions /

Mac OS X:
  Chrome:〜/ Library / Application Support / Google / Chrome / Default / Extensions /
  Chromium:〜/ Library / Application Support / Chromium / Default / Extensions /

尽管您可以通过运行带有该--user-data-dir=选项的Chrome进行更改。


1
很好的答案-已更新,以反映新的Chrome“仅限网络存储”政策。您只能将.user.js文件拖到Extensions窗口中。
crb 2012年

2
@ColonelPanic,可悲的是,不,你不能。当前自动生成的清单与扩展过程不兼容!它不使用"manifest_version": 2,现在是必需的。将答案中的示例用作起始副本(或至少不要忘记"manifest_version": 2)。... Google会设置所有“正常”用户脚本在待发布版本中失败,除非它们很快更改了自动清单过程。
布罗克·亚当斯

1
@brock我像第二个答案一样将用户脚本拖放到扩展窗口中,现在我不必担心Tampermonkey的审查。它只是工作。:)
比约恩

1
@brock我知道您已经知道了,但是鉴于您建议使用Tampermonkey,该扩展程序需要访问您所有的银行站点信息,facebook,所有内容,第二个答案更好。对于“审核”,绝对没有任何人可以审核chrome扩展程序,因为您可以随时自动更新它们以执行不良操作,然后再次对其进行隐藏。您必须每次都审核所有更改。它是所有内容的权限。一切。
比约恩

1
@marshmellooooooos,仍然适用于我(Chrome 54.0.2840.99 m)。如果你不能得到它的工作,无论是安装Tampermonkey或打开一个新的问题与EXACT的你尝试过什么细节。
布罗克·亚当斯

53

2016年更新:似乎又在工作。

2014年8月更新:从最新的Chrome版本不再可用。


是的,新的状况很糟糕。幸运的是,它并不像其他答案所暗示的那么难。

  1. 在Chrome中浏览到 chrome://extensions
  2. .user.js文件拖到该页面中。

瞧 您也可以将文件从下载页脚栏中拖动到扩展选项卡。

Chrome浏览器将manifest.jsonBrock记录的扩展目录中自动创建文件

<3自由。


15
请确保文件名类似于<scriptname> .user.js,否则chrome无法将其识别为扩展名
Paco

1
@AlexTracer它在Chromium 33上对我有效。也许您做错了什么。
user7610 2014年

4
在Chrome 36中不再可用。以这种方式添加的用户脚本带有以下消息:“此扩展名未在Chrome网上应用店中列出,并且可能是您不知情添加的”,并且禁用了启用复选框。
保护者

2
这对我在Chrome 51中有效,并且我没有使用任何命令行参数。也许他们又把它改回来了?
错误的

6
我刚刚尝试了一下(Chrome 60),然后发送到一个页面,上面写着:“尚未在Chrome网上应用店中发布的扩展程序显示为灰色,您将无法重新打开它们。” 听起来像2014年8月的行为。不知道他们是否重新禁用了它,或者只是我缺少了一些东西。
流行

11

此参数对我有用:

--enable-easy-off-store-extension-install

请执行下列操作:

  1. 右键点击“ Chrome”图标。
  2. 选择属性
  3. 在目标行的末尾,放置以下参数: --enable-easy-off-store-extension-install
  4. 它应该看起来像: chrome.exe --enable-easy-off-store-extension-install
  5. 双击图标启动Chrome


1
管理员还可以为所有用户创建一个策略,允许的URL按以下方式列入白名单:chromium.org/administrators/…–
joeytwiddle

编辑内容时,我真的需要删除旧脚本并通过将其再次拖到浏览器中来全新安装它吗?还是有更简单的方法?
YMMD

要更新脚本,请在文件系统或Web服务器上导航至该脚本,然后单击安装。Chrome会覆盖旧版本。如果您正在开发脚本并且不想继续安装它,请尝试做一个书签/用户脚本混合:stackoverflow.com/questions/1810885/…–
joeytwiddle

嗯是的,它看起来像他们有目的禁用侧载:blog.chromium.org/2018/06/...
joeytwiddle

1

一键分享并安装用户脚本

要进行自动安装(但需手动确认),可以在单击Raw并获得以下页面时,使gist(gist.github.com)带有<filename>.user.js文件名以进行点击安装:

安装页面

这该怎么做 ?

  1. 命名要点<filename>.user.js,编写代码,然后单击“创建”。
    在文件上制作文件

  2. 在要点页面中,单击原始以获取安装页面(第一个屏幕)。
    原始按钮

  3. 检查代码并安装。


0

2020年4月答案

在Chromium 81+中,我找到了答案:转到chrome:// extensions /,单击以启用右上角的Developer Mode,然后拖放.user.js脚本。


在Chrome(不是Chromium)中,这对我不起作用。它说它不是来自chrome网站商店,并强制将其禁用。
Monkpit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.