Можно ли программно настроить веб-страницы, на которых может работать скрипт пользователя? - PullRequest
0 голосов
/ 28 марта 2020

В настоящее время я разрабатываю пользовательский скрипт, который мог бы использоваться для через несколько лет после того, как я покинул компанию. Целевая аудитория имеет базовую c компьютерную грамотность - достаточно, чтобы заполнить простое меню конфигурации.

Я беспокоюсь, что сценарии могут сломаться, потому что ИТ-отдел может перемещать веб-страницы, которые я перечислил в @include , Я могу задокументировать, как исправить сценарии, но я хочу защищаться от ИТ-отделов, которые, как я знаю, невероятно некомпетентны. Я знаю, что могу сделать следующее:

  • Разрешить пользователю указывать URL-адреса на странице конфигурации.
  • Установить @include как очень обобщенный c как https://*.edu/* и используйте оператор if, чтобы определить, что мы находимся на указанном пользователем URL-адресе, используя window.location.href перед выполнением команд.

Несколько проблем по поводу этого решения: я хочу, чтобы сценарий можно было многократно использовать повторно между институтами, именно поэтому я упомянул *.edu вместо specificschool.edu. В приведенной выше конфигурации скрипт будет выполняться буквально на каждой странице любого веб-сайта .edu, но действия будут выполняться только в том случае, если они находятся на веб-странице из-за оператора if. Это кажется ужасно неэффективным, но я понимаю, что это может быть компромиссом между простотой переносимости и эффективностью.

Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 29 марта 2020

Разрешить пользователю указывать URL-адреса на странице конфигурации.

Как упомянуто wOxxOm, менеджером пользовательских скриптов, например, TamperMonkey, GreaseMonkey, ViolentMonkey & FireMoneky (только Firefox), есть пользовательские настройки, которые пользователи могут вводить, хотя это часто требует некоторых предварительных знаний.

Установите для @include очень общий c как https: //.edu/ и используйте оператор if, чтобы определить, что мы находимся на указанном пользователем URL-адресе с помощью window.location.href перед выполнением команд.

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

Есть ли лучший способ сделать это?

Да ... система обновления сценариев.

Если сценарий размещен на доступном сервере (GreasyFork, Github и т. д. c), тогда можно задать URL-адрес обновления, а затем сценарий может автоматически или вручную обновляться пользователями, где бы он ни находился. терпит неудачу для работы или требуется обновление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...