Вручну додавання сценарію користувача до Google Chrome


161

Замість того, щоб "встановлювати" сценарії користувачів, я знайшов у мережі багато підручників, щоб додати їх вручну. Усі вони сказали мені робити однакові кроки:

  • Створіть каталог C: \ Користувачі \ Blabla \ AppData \ Local \ Google \ Chrome \ Дані користувача \ За замовчуванням \ Сценарії користувачів
  • Помістіть туди файл .js, який містить User-Script
  • Запустіть Chrome з параметром --enable-user-script

Я так і зробив - але мій демо-сценарій нічого не робить:

// ==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

Відповіді:


240

Найкраще зробити це встановити розширення Tampermonkey .

Це дозволить вам легко встановити сценарії Greasemonkey та легко керувати ними. Крім того, це спрощує встановлення користувацьких скриптів безпосередньо з таких сайтів, як OpenUserJS , MonkeyGuts тощо.

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


Але, якщо ви дійсно хочете встановити GM-скрипт безпосередньо, це просто біль у праві в Chrome сьогодні ...

Приблизно через серпень 2014 року:

Ви можете перетягнути файл на сторінку розширень, і він буде працювати ... Доки ви не перезапустите 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 встановлює сценарії в папці Розширення 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. Натисніть Load розпаковане розширення ... кнопку.

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

  8. Ваш сценарій зараз встановлений та працює!

  9. Якщо ви внесете будь-які зміни до джерела сценарію, натисніть посилання Перезавантажити, щоб вони вступили в силу:

    Перезавантажити посилання




1 Тека за замовчуванням:

Windows XP:
  Chrome:% AppData% \ .. \ Місцеві налаштування \ Дані програми \ Google \ Chrome \ Дані користувача \ За замовчуванням \ Розширення \
  Хром:% AppData% \ .. \ Локальні налаштування \ Дані програми \ Хром \ Дані користувача \ За замовчуванням \ Розширення \

Windows Vista / 7/8:
  Chrome:% LocalAppData% \ Google \ Chrome \ Дані користувача \ За замовчуванням \ Розширення \
  Хром:% LocalAppData% \ Хром \ Дані користувача \ За замовчуванням \ Розширення \

Linux:
  Chrome: ~ / .config / google-chrome / за замовчуванням / розширення /
  Хром: ~ / .config / chrome / за замовчуванням / розширення /

Mac OS X:
  Chrome: ~ / Бібліотека / Підтримка програм / Google / Chrome / За замовчуванням / Розширення /
  Хром: ~ / Бібліотека / Підтримка програм / Хром / За замовчуванням / Розширення /

Хоча ви можете змінити його, запустивши Chrome з --user-data-dir=опцією.


1
Чудова відповідь - оновлено, щоб відобразити нову політику Chrome "лише для веб-магазинів". Ви можете перетягнути файли .user.js лише у вікно розширень.
crb

2
@ColonelPanic, На жаль, ні, ти не можеш. Автогенерований маніфест наразі не сумісний із процесом розширення! Він не використовується "manifest_version": 2, що зараз потрібно. Використовуйте приклад у відповіді як свою початкову копію (або принаймні не забувайте "manifest_version": 2). ... Google налаштовує всі "звичайні" сценарії користувачів для відмови в очікуванні випуску, якщо вони незабаром не змінить процес автоматичного виявлення.
Брок Адамс

1
@brock Я просто перетягнув свій користувальницький скрипт у вікно розширень, як друга відповідь, і тепер мені не потрібно турбуватися про перевірку Tampermonkey. Це просто спрацювало. :)
Bjorn

1
@brock Я знаю, що у вас це є, але, враховуючи вашу рекомендацію використовувати Tampermonkey, розширення, яке вимагає доступу до інформації про ваші банківські сайти, до вашого фейсбуку, до всього іншого, відповідь краще. А що стосується "перевіреного", то ніхто абсолютно не може зробити перевірку хромового розширення, оскільки ви можете оновити їх автоматично, щоб робити погані речі в будь-який час, а потім оновити їх знову, щоб приховати це. Вам доведеться кожен раз перевіряти зміни. Це дозволи на все. Все.
Бьорн

1
@marshmellooooooos, як і раніше працює для мене (Chrome 54.0.2840.99 м). Якщо ви не можете змусити його працювати, встановіть Tampermonkey або відкрийте нове запитання з точними деталями того, що ви спробували.
Брок Адамс

53

Оновлення 2016 року: здається, працює знову.

Оновлення серпня 2014 року: Більше не працює з останніми версіями Chrome.


Так, новий стан речей смокче. На щастя, це не так важко, як випливають з інших відповідей.

  1. Перегляньте в Chrome на chrome://extensions
  2. Перетягніть .user.jsфайл на цю сторінку.

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

Chrome автоматично створить manifest.jsonфайл у каталозі розширень, який Brock задокументував .

<3 Свобода.


15
переконайтеся, що ім'я файлу схоже на <scriptname> .user.js, інакше chrome не розпізнає його як розширення
Paco

1
@AlexTracer Це працює для мене на Chromium 33. Можливо, ти робиш щось не так.
користувач7610

4
Більше не працює в Chrome 36. Сценарії користувачів, додані таким чином, надходять із повідомленням: "це розширення не вказано у Веб-магазині Chrome і може бути додане без вашого відома", і прапорець "Увімкнути" вимкнено.
Захисник один

2
Це працює для мене в Chrome 51, і я не використовую жодних параметрів командного рядка. Може, вони знову змінили його?
Мізерний

6
Я щойно спробував це (Chrome 60) і надійшов на сторінку, де написано: "Розширення, які не були опубліковані у Веб-магазині Chrome, є сірими, і ви не зможете їх увімкнути". Схоже на поведінку серпня 2014 року. Не впевнений, чи повторно відключили це чи просто мені щось не вистачає.
Попс

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, двічі клацнувши по значку

Я отримав це від superuser.com/questions/450893/…
joeytwiddle

1
Адміністратори також можуть створити політику для всіх користувачів з дозволеними URL-адресами, дозволеними по шаблону: chromium.org/administrators/…
joeytwiddle

Чи дійсно мені потрібно видалити старий скрипт і встановити його зовсім новим, перетягнувши його в браузер ще раз, коли я редагував речі? Або є простіший спосіб?
YMMD

Щоб оновити скрипт, я перейду до нього на файлову систему або веб-сервер і натисніть, щоб встановити; Chrome перезаписує стару версію. При розробці сценарію і не хочуть , щоб встановити його, спробуйте букмарклета / userscript гібрид: stackoverflow.com/questions/1810885 / ...
joeytwiddle

Мммм, так, схоже, вони спеціально відключили завантаження: blog.chromium.org/2018/06/…
joeytwiddle

1

Надання спільного доступу та встановлення сценарію користувача одним клацанням миші

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

Сторінка встановлення

Як це зробити?

  1. Назвіть свою суть <filename>.user.js, напишіть свій код і натисніть «Створити».
    Складіть файл на gist

  2. На сторінці суті клацніть на Raw, щоб отримати сторінку встановлення (перший екран).
    Сира кнопка

  3. Перевірте код і встановіть його.


0

Відповідь у квітні 2020 року

У Chromium 81+ я знайшов відповідь: перейдіть до chrome: // розширення /, натисніть, щоб увімкнути режим розробника у верхньому правому куті, а потім перетягніть сценарій .user.js.


У Chrome (не в Chromium) це не працює для мене. У ній написано, що це не з хромованого веб-магазину і змушує його бути відключеним.
Monkpit
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.