Как установить приватный пользовательский скрипт в Chrome 21+?

29487
Mathias Bynens

В Chrome 20 и более ранних версиях вы можете просто открыть любой .user.jsфайл в Chrome, и вам будет предложено установить пользовательский скрипт.

Однако в Chrome 21 и более поздних версиях он загружает файл и отображает в верхней части предупреждение: «Расширения, приложения и пользовательские сценарии могут быть добавлены только из Интернет-магазина Chrome».

Screenshot

Ссылка «Подробнее» указывает на http://support.google.com/chrome_webstore/bin/answer.py?hl=ru&answer=2664769, но на этой странице ничего не говорится о пользовательских сценариях, только о расширениях в .crxформате, приложения и темы.

Эта часть звучит интересно:

Администраторы предприятия: Вы можете указать URL - адреса, которым разрешено устанавливать расширения, приложения и темы непосредственно через к 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/*" 

К сожалению, эти настройки влияют только на расширения, приложения и темы (как говорится в тексте), а не на пользовательские сценарии. (Я отправил сообщение об ошибке с просьбой, чтобы этот параметр также влиял на пользовательские сценарии.)

Любые идеи о том, как установить частный пользовательский скрипт (который я не хочу добавлять в Интернет-магазин Chrome) в Chrome 21+?

61
Вы пытались включить режим разработчика в Настройки -> Расширения? Не уверен, что это сработает, но вы можете попробовать. Rhyuk 12 лет назад 0
@Rhyuk Спасибо за предложение. Я включил режим разработчика, хотя - кажется, не имеет значения. Mathias Bynens 12 лет назад 0
[Как установить скрипт пользователя?] (Http://superuser.com/q/252046) Sathya 12 лет назад 1

3 ответа на вопрос

37
Mathias Bynens

Проблема заключалась в том, что gist.github.comнеобработанные URL-адреса перенаправляли на другой домен. Итак, мы должны использовать эти команды вместо:

# 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/*" 

Это работает!


В любом случае, похоже, что это обходной путь (спасибо Полу Хорну за подсказку):

  1. Загрузите пользовательский скрипт.
  2. Open chrome://chrome/extensions/.
  3. Перетащите файл пользовательского скрипта на страницу, открытую на шаге 2.
Это кажется лучше, чем редактирование команды, используемой для открытия Chromium. Спасибо! btleffler 12 лет назад 0
@btleffler За исключением того, что вам придется каждый раз перепрыгивать через этот обруч, а не вносить изменения один раз. Eugene Beresovsky 12 лет назад 0
NB. При перетаскивании, вы должны поместить файл точно в сообщение. В другом месте на странице не будет работать. Colonel Panic 12 лет назад 0
работает ли способ добавления расширений методом перетаскивания? Похоже, что на Chrome 24 на OSX. Viktor 11 лет назад 0
Следует отметить, что GitHub позволяет размещать пользовательский контент на .github.com (через "Github Pages" - http://pages.github.com). Просто хедс-ап для тех, для кого это будет проблемой безопасности. mh. 11 лет назад 0
Где вы вводите команды? Sam 11 лет назад 0
@ Сам в вашем терминале. Mathias Bynens 11 лет назад 0
Drag & Drop открывает скрипт в chrome, ничего не устанавливает. Есть ли нормальный способ установить скрипт? Danubian Sailor 11 лет назад 0
@ ŁukaszLech Вы должны перетащить его в `chrome: // chrome / extensions /`, а не только в окно Chrome. Mathias Bynens 11 лет назад 0
36
Jacob Groß

Запустите 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

  • Для Google Chrome вам нужно экранировать пробелы, например: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

В Linux:

  • chromium-browser --enable-easy-off-store-extension-install
Вы должны полностью выйти из Chrome, а не просто открыть новое окно со значком. (это чушь Google между прочим) Jonathan. 12 лет назад 1
Да, это посягает на «злую» территорию ИМО. jnylen 11 лет назад 1
Это сработало ... :) Ответ @MathiasBynens не сработал на MacOS / Chrome25 Lipis 11 лет назад 0
Это сработало!! Очень полезно, спасибо! Joe Coder 11 лет назад 0
У меня проблема с окнами http://dl2.joxi.net/drive/0005/3037/338909/141218/3935c61eb8.jpg gstackoverflow 9 лет назад 0
Уверен, что это перестало работать после августа 2014 года. Кажется, сейчас это не работает вообще. Brock Adams 7 лет назад 1
10
jnylen

Ну, это заняло пару часов моей жизни, чтобы понять. Я предполагаю, что инженеры Google считают, что мы заслуживаем установки ненадежных расширений, только если мы можем понять, как делать трюки и прыгать через их обручи.

Инструкции в ответе Матиаса выглядят точными для Mac OS X, но я использую Linux. Вот что я сделал в Linux для упрощения установки (в стиле до Chrome-21) всех сторонних расширений, приложений и пользовательских скриптов с любого веб-сайта :

  1. Создайте каталог политик (если он еще не существует):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/ 
  2. Создайте файл политики:

    cd /etc/opt/chrome/policies/recommended/  sudo tee easy_install_extensions.json <<EOF { "ExtensionInstallSources": ["<all_urls>"] } EOF 
  3. Перезапустите Chrome. Полностью выйти из программы через menu -> Exit; не просто закройте текущее окно.


Источники:

Заметки:

  • <all_urls>(используется выше) - это специальный шаблон в соответствии с документами соответствия URL . Полезно знать.
  • Согласно документации по политике Linux, каталоги /etc/opt/chrome/policies//содержат файлы политики JSON. Если записи конфликтуют, managedпереопределяет recommended.
Я не знал о`- очень полезно. Спасибо! Mathias Bynens 11 лет назад 2
Подтвержден для работы в Fedora 18. Потрясающий пост, очень полезный! ehime 11 лет назад 0
Потрясающие! Перетаскивание раньше не работало, а теперь работает! billyswong 11 лет назад 0

Похожие вопросы