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

YMM*_*MMD 158 google-chrome userscripts

我没有"安装"用户脚本,而是在网上找到了许多手动添加它的教程.所有人都告诉我要做同样的步骤:

  • 创建目录C:\ Users\Blabla\AppData\Local\Google\Chrome\User Data\Default\User Scripts
  • 在那里放置一个.js文件,其中包含User-Script
  • 使用参数--enable-user-scripts启动Chrome

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

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

alert(0);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Bro*_*ams 236

最好的办法是安装Tampermonkey扩展.

这将允许您轻松安装Greasemonkey脚本,并轻松管理它们.此外,它还可以更轻松地直接从OpenUserJS,MonkeyGuts等网站安装用户脚本.

最后,它通过直接在Chrome上安装GM脚本,解锁了大多数GM功能.也就是说,可以使用Tampermonkey提供更多基于Firefox的GM可以做的事情.


但是,如果你真的想直接安装GM脚本,那么现在Chrome 很容易让人痛苦......

Chrome大约在2014年8月之后:

您仍然可以将文件拖到扩展程序页面,它可以正常工作...... 直到您重新启动Chrome.然后它将被永久禁用.有关详细信息,请参阅继续"保护"Chrome用户免受恶意扩展.再次,Tampermonkey是明智之举.(或者将浏览器完全切换到Opera或Firefox.)

Chrome 21+:

Chrome正在改变扩展程序的安装方式.用户脚本是Chrome上的精简扩展程序,但是.从Chrome 21开始,对用户脚本禁用链接单击行为.要安装用户脚本,请将**.user.js*文件拖到Extensions页面(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"
    }
    
    Run Code Online (Sandbox Code Playgroud)

    manifest.json安装用户脚本时,Chrome会自动从元块生成该文件.的价值@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来更改它.

  • 很好的答案 - 已更新以反映新的 Chrome“仅限网络商店”政策。您只能将 .user.js 文件拖到“扩展”窗口中。 (2认同)
  • @ColonelPanic,可悲的是,不,你不能.自动生成的清单目前与扩展程序不兼容!它不使用`"manifest_version":2`,现在是必需的.使用答案中的示例作为起始副本(或者至少不要忘记``manifest_version":2`).... Google正在设置所有"正常"用户脚本在待处理版本中失败,除非他们很快更改自动清单流程. (2认同)
  • @brock我知道你有这个,但考虑到你建议使用Tampermonkey,一个需要访问你所有银行网站信息、你的facebook、一切的扩展,第二个答案更好。至于“审查”,任何人都无法对 Chrome 扩展进行审查,因为您可以自动更新它们以随时做坏事,然后再次更新它们以隐藏这一点。您每次都必须审查每项更改。这是对一切的权限。一切。 (2认同)

Col*_*nic 53

2016年更新:似乎再次运作.

2014年8月更新:不再适用于最近的Chrome版本.


是的,新的事态很糟糕.幸运的是,这并不像其他答案所暗示的那么难.

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

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

Chrome会自动manifest.jsonBrock记录的扩展目录中创建一个文件.

<3自由.

  • 确保文件名与<scriptname> .user.js类似,否则chrome不会将其识别为扩展名 (14认同)
  • 我刚试过这个(Chrome 60)并被发送到[页面](https://support.google.com/chrome/answer/2811969),其中说"尚未在Chrome网上应用店发布的扩展程序显示为灰色你将无法重新开启它们." 听起来像2014年8月的行为.不确定他们是否重新禁用了这个,或者只是我遗漏了一些东西. (6认同)
  • 在Chrome 36中不再有效.通过这种方式添加的用户脚本附带消息:"此扩展程序未列在Chrome网上应用店中,可能是在您不知情的情况下添加的",并且启用了复选框. (4认同)
  • 这适用于Chrome 51,我没有使用任何命令行参数.也许他们又改回来了? (2认同)

joe*_*dle 11

这个参数对我有用:

--enable-easy-off-store-extension-install
Run Code Online (Sandbox Code Playgroud)

请执行下列操作:

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