Автоматически обновлять сценарий greasemonkey в процессе разработки

1844
Codism

Я большой поклонник greasemonkey, но есть одна вещь, которая мне не нравится - каждый раз, когда я обновляю скрипт, мне нужно перетащить скрипт из проводника в окно браузера, подождать несколько секунд и нажать «установить», затем обновите целевую страницу, чтобы увидеть эффект.

Недавнее обновление Firefox добавило еще один щелчок ко всему процессу. Это, вероятно, приемлемо для конечного пользователя, но это действительно просто боль, когда скрипт находится в активной разработке - где он часто обновляется. В идеале, я ищу консольный интерфейс, который может напрямую «вставлять» обновленный скрипт в Firefox без (или минимум по соображениям безопасности) любой задержки или щелчка.

ОБНОВИТЬ

Я просто попытался "отредактировать этот пользовательский скрипт", как предложил ov1d1u. Есть две проблемы: 1) внутренний редактор не так хорош, как мои предпочтения; 2) он работает в секретной папке, в которой сложно использовать систему контроля версий. Однако, поскольку он обнаружил секретную папку, я попытался обновить файл прямо в этой папке, и это сработало! Я только что создал один пакетный файл со следующим содержанием:

xcopy /d my.user.js "...\AppData\Roaming\...\gm_scripts\...\" 

Это, безусловно, достаточно хорошее решение для того, что я хотел.

2
Если вы перейдете к «Пользовательским сценариям» в «about: addons», нажмите кнопку «Preferences» рядом с вашим сценарием, а затем нажмите «Edit this User Script», не применяются ли изменения автоматически из этого редактора? ov1d1u 9 лет назад 1
> «Внутренний редактор не так хорош, как мои предпочтения» Я думаю, что на самом деле это редактор по умолчанию. Так что если вы настроили ваш лучший редактор по умолчанию, он будет использоваться для открытия пользовательского скрипта. wanghq 9 лет назад 0
Вы должны опубликовать свои изменения в качестве ответа janot 8 лет назад 0

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

1
Codism

Как предположил Джанот, я публикую здесь то, что сработало для меня, в качестве ответа.

Следующее от моего оригинального обновления вопроса:

Я просто попытался "отредактировать этот пользовательский скрипт", как предложил ov1d1u. Есть две проблемы: 1) внутренний редактор не так хорош, как мои предпочтения; 2) он работает в секретной папке, в которой сложно использовать систему контроля версий. Однако, поскольку он обнаружил секретную папку, я попытался обновить файл прямо в этой папке, и это сработало! Я только что создал один пакетный файл со следующим содержанием:

xcopy /d my.user.js "...\AppData\Roaming\...\gm_scripts\...\" 

Это, безусловно, достаточно хорошее решение для того, что я хотел.

Фев 2016 Обновление

Прошло два года с тех пор, как был задан этот вопрос. Теперь я перешел на Chrome + Tampermonkey. Tampermonkey позволяет обновлять скрипт локально, указав в скрипте updateURL. Таким образом, я просто устанавливаю простой HTTP-сервер локально, а обновление скрипта выполняется двумя щелчками внутри Chrome. Вероятно, это не что-то новое, но я просто хочу упомянуть об этом здесь.