Добавление пользовательского скрипта в Google Chrome вручную - PullRequest
155 голосов
/ 10 марта 2011

Вместо «установки» пользовательских скриптов, я нашел много учебников в сети, чтобы добавить их вручную.Все они сказали мне сделать те же шаги:

  • Сделать каталог C: \ Users \ Blabla \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ User Scripts
  • Поместите туда файл .js, который содержит User-Script
  • Запустите Chrome с параметром --enable-user-scripts

Я так и сделал - но мой демонстрационный скрипт делаетничего не делать:

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

alert(0);

Что я делаю не так?

Ответы [ 4 ]

230 голосов
/ 10 марта 2011

Лучше всего установить расширение Tampermonkey .

Это позволит вам легко устанавливать скрипты Greasemonkey и легко управлять ими. Кроме того, это упрощает установку пользовательских скриптов непосредственно с сайтов, таких как OpenUserJS , MonkeyGuts и т. Д.

Наконец, он открывает большую часть всех функций GM, которые вы не получаете, устанавливая сценарий GM напрямую с Chrome. То есть, многое из того, что может сделать GM на Firefox, доступно с Tampermonkey.


Но, если вы действительно хотите установить скрипт GM напрямую, в наши дни просто доставит немало хлопот ...

Chrome Примерно после августа 2014 года:

Вы все еще можете перетащить файл на страницу расширений, и он будет работать ... Пока вы не перезапустите Chrome. Тогда он будет навсегда отключен. См. Продолжение «защиты» пользователей Chrome от вредоносных расширений для получения дополнительной информации. Опять же, Tampermonkey - это разумный путь. (Или переключите браузеры на Opera или Firefox.)

Chrome 21+:

Chrome изменяет способ установки расширений . Пользовательские скрипты - это урезанные расширения на Chrome, но. Начиная с Chrome 21 , поведение при нажатии ссылки отключено для usercripts . Чтобы установить пользовательский сценарий, перетащите файл **. User.js * на страницу Extensions (chrome://extensions во вводе адреса).

Старые версии Chrome:

Просто перетащите свои **. User.js * файлы в любое окно Chrome. Или нажмите на любую ссылку-скрипт Greasemonkey.

Вы получите предупреждение об установке:
Initial warning

Нажмите Продолжить .


Вы получите диалог подтверждения:
confirmation dialog

Нажмите Добавить .


Примечания:

  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 автоматически создается из метаблока Chrome при установке пользовательского сценария. Значения мета-правил @include и @exclude хранятся в include_globs, а exclude_globs, @match (рекомендуется) хранятся в списке matches. "converted_from_user_script": true требуется, если вы хотите использовать любой из поддерживаемых GM_* методов .

  5. Теперь в диспетчере расширений Chrome (URL = chrome: // extensions / ) разверните «Режим разработчика» .

  6. Нажмите кнопку Загрузить распакованное расширение ... .

  7. Для папки вставьте в папку для вашего скрипта, в этом примере это: C:\MyChromeScripts\HelloWorld.

  8. Ваш скрипт установлен и работает!

  9. Если вы вносите какие-либо изменения в источник скрипта, нажмите на ссылку Reload , чтобы они вступили в силу:

    Reload link




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/

Хотя вы можете изменить ее, запустив Chrome с опцией --user-data-dir=.

52 голосов
/ 02 декабря 2012

Обновление 2016: похоже, снова работает.

Обновление, август 2014: больше не работает с последними версиями Chrome.


Да, новое положение вещей отстой.К счастью, это не так сложно, как подразумевают другие ответы.

  1. Просмотр в Chrome на chrome://extensions
  2. Перетащите файл .user.js на эту страницу.

Вуаля.Вы также можете перетащить файлы из нижнего колонтитула загрузок на вкладку расширений.

Chrome автоматически создаст файл manifest.json в каталоге расширений, который задокументирован Броком .

<3 свободы. </p>

11 голосов
/ 26 июля 2012

Этот параметр у меня работает:

--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 голос
/ 27 мая 2018

Совместное использование и установка скрипта пользователя одним щелчком мыши

Чтобы выполнить автоматическую установку (но подтвердить вручную), вы можете сделать gist (gist.github.com) с <filename>.user.js именем файлачтобы получить установку по щелчку при нажатии на Raw и получить эту страницу:

Installation page

Как это сделать?

  1. Назовите свою суть <filename>.user.js, напишите свой код и нажмите «Создать».
    Make file on gist

  2. На главной странице нажмите Raw , чтобы получить страницу установки (первый экран).
    Raw button

  3. Проверьте код и установите его.

...