Как пользователи, мы любим мощь Greasemonkey. Для разработчиков это может усложнить ситуацию.
Некоторые люди защищают отключение пользовательских сценариев в целях защиты; другие готовы умереть, чтобы защитить их.
Есть золотая середина? Как снизить угрозу эволюционной гонки вооружений между пользователями и недобросовестными рекламодателями?
Судя по названию, я подумал, что этот пост будет троллингом не по теме. Я был неправ. Я бы никогда не стал предполагать, что знаю, будет ли пользователь использовать новый браузер, старый или популярный. А в наши дни распространение таких вещей, как смартфоны, делает любые предположения о вашей пользовательской базе смехотворными.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Любой контроль, который, по вашему мнению, у вас есть, над тем, какие пользовательские агенты используют посетители вашего сайта, иллюзорен. Однако подавляющее большинство будет использовать обычный IE / Firefox / Safari. Но если у вас есть сайт, аудитория которого массово приняла сценарий Greasemonkey, то расценивайте это как решительный голос ваших пользователей за то, что сайт должен измениться!
Немного соломенного человека, который - никто не будет выступать за то, чтобы владелец сайта способствовал изменению, которое поощряло действие, которое является незаконным в большинстве стран. Ваш пример вряд ли будет принят массово! Я больше думаю о сценариях, которые исправляют или улучшают поведение сайта в позитивном ключе с точки зрения владельца сайта. Например, исправление недостатков дизайна, которые побуждают пользователей возвращаться, несмотря на эти недостатки.
Если ваши пользователи используют сценарий Greasemonkey и возвращаюсь, считайте это удачей: им нужно кое-что, что вы им не даете, и они еще не оставили.
Если бы у них не было Greasemonkey, они бы ушли. Что вы можете сделать, чтобы их сохранить?
Не думаю, что так рассуждать разумно. Пользователи посещают из-за чего-то, что у вас есть. Если они модифицируют сайт, вероятно, лучше нигде больше не найти, и если да, то они не уйдут.
troethom: это именно моя точка зрения! Все, что нужно, - это кто-то предложить ту же услугу без проблем, которые они решают с помощью Greasemonkey, и они исчезнут. Примите это как знак.
Мы должны принять реальность нашей платформы: как только ваш веб-сайт находится в (компьютерной) памяти зрителя, они могут делать с ним все, что захотят, без вашего разрешения. Популярные сайты, которые пытаются диктовать свои условия просмотра своей аудитории, часто сразу же страдают от гневной реакции - вместо того, чтобы пытаться делать это по-своему, позвольте пользователям делать то, что они хотят, принять это, и вы в конечном итоге предоставите более качественный сервис. , который ваши пользователи оценят и вознаградят.
Если кто-то использует плагин для браузера или какую-либо модификацию, вам не следует пытаться заблокировать их или отключить - это может привести к большему количеству проблем.
С другой стороны, и поддерживать их не стоит; если работает, пусть работает, если ломается, пусть ломается.
Многие люди используют хитроумные надстройки браузера, иногда непреднамеренно, а иногда и без всякого выбора (корпоративные ИТ-службы навязывают им хитроумные модификации IE). Постарайтесь со всеми поиграть.
Я согласен с MarkR (кстати, +1).
Поэтому, что бы веб-дизайнеры ни пытались сделать, чтобы остановить какую-то функцию, они либо разозлят своих пользователей, либо заставят их взломать другое решение, либо уйдут на более дружелюбные сайты.
(Я ненавижу, когда какой-то сломанный сайт требует, чтобы я открыл мой отладчик Firefox, чтобы я мог завершить свое исправление только потому, что какой-то глупый разработчик забыл объявить свою переменную цикла i и, таким образом, сделать ее глобальной ... И я сделал это снова менее двух дней назад)
Поскольку онлайн-приложения никогда не должны полагаться на элементы управления и средства защиты на стороне клиента (то есть тестирование значения даты на клиенте - отличный бонус, но тестирование его в любом случае и всегда на сервере - это то, что нужно делать).
Самое худшее, что может случиться, - это то, что приложение сломается для пользователя GM из-за некорректного скрипта. Но с точки зрения сервера он должен оставаться в первозданном виде.
Это означает, что какой бы хакер ни добавлял пользователь в свой браузер, пользователь остается сам по себе. В лучшем случае он / она может обнаружить скрытую ошибку и сообщить о ней. Хуже всего то, что сайт не будет работать должным образом.
Большинство людей, использующих GM или что-то еще для улучшения сайта, демонстрируют, что сайт не соответствует их вкусам. Как написал Рич, хорошо то, что они все еще находятся на вашем сайте, а не где-либо еще.
Либо это «улучшение» на его / ее очень личный вкус, и, эй, в чем проблема, если он / она хочет видеть вашу черно-белую веб-страницу желтым на синем? Или, возможно, «улучшение» повысит ценность вашего сайта. В этом случае, я думаю, вы хотите либо предложить одни и те же функции для всех (может быть хорошей идеей поблагодарить автора GM за его идею), либо, возможно, поддержать ее как дополнительную функцию ("нажмите здесь, чтобы опыт ") или ... скрипт GreaseMonkey?
Я не понимаю, почему разработчики должны это ненавидеть?
Рекламодатели? В настоящее время я сомневаюсь, что люди пишут сценарии GM, чтобы избавиться от рекламы, вместо этого они используют AdBlock [Plus] ...
В общем, я пишу сценарии GM, чтобы улучшить кое-что, чего не хватает на сайтах, куда я часто захожу, поэтому, если вы попытаетесь принять меры по отключению GM, я буду очень расстроен и, возможно, бойкотирую этот сайт.
Кроме того, я предполагаю, что количество людей, достаточно знающих, чтобы установить GM (даже тех, кто использует готовые скрипты), довольно мало по отношению к общему количеству посетителей.
В качестве исторической заметки статья, на которую вы ссылаетесь, относится к более старой версии Greasemonkey, которая фактически вставляла теги <script> на страницу, а затем выполняла их. В GM больше нет скриптов по умолчанию; если это произойдет, это вина пользователя / GM-dev.