Twitter предотвращает блокировку скриптов

я столкнулся со странной проблемой. Когда у меня UBlock Происхождение in Бледная Луна включено, чтобы блокировать все скрипты (включая встроенные скрипты),Twitter веб-страница как-то показывает следующее неприятное поведение:

  1. он не показывает контекстное меню при щелчке правой кнопкой мыши (но двойной щелчок правой кнопкой мыши вызывает его).

  2. много стандартных ключей не работают, включая Up / Down / PgUp / PgDn и F5 и Backspace и Alt+влево/вправо / домой. Ctrl + W не закрывает вкладку, а Ctrl+T не вызывает новую вкладку (но Ctrl+Tab работает).

Я подтвердил, что это связано с блокировкой скриптов Twitter, потому что у меня есть два других аддона (один из которых AdBlock Lite), которые блокируют загрузку скриптов через NsIContentPolicy, оба из которых утверждают, что успешно блок:

но не блок:

Я подозреваю, что uBlock Origin также не блокирует некоторые скрипты, которые захватывают мышь и некоторые сочетания клавиш. Когда все три аддоны отключены для Twitter, выше неприятное поведение исчезает.

у меня даже есть Greasemonkey сценарий @run-at document-start и stopImmediatePropagation на любом случае keydown, но он не в состоянии предотвратить угон клавиатуры.

мои вопросы

  1. Я вижу, что первый файл JS, который, по-видимому заблокирован, связан с <script> тег, и не только из <link> - тег. Я так понимаю, что NsIContentPolicy не для <link> теги (особенно с атрибутом rel='preload'?). Буду признателен, если кто-нибудь объяснит, что происходит.

  2. есть ли способ я могу иметь 100% гарантию блокировки всех скриптов, если я белый список их в каждом конкретном случае?

на мобильная версия Twitter работает нормально и не захватывает мышь и клавиатуру.

21
задан user21820
17.12.2022 8:11 Количество просмотров материала 3093
Распечатать страницу

1 ответ

наконец-то у меня было время вернуться к этому. Я использовал сценарий GreaseMonkey для внедрения прослушивателя событий для beforescriptexecute чтобы предотвратить загрузку всех скриптов, и обнаружил, что uBlock Origin (1.9.6) не смог заблокировать запуск встроенных скриптов на веб-странице Twitter. Поэтому я, по сути, ответил на свой вопрос:

  1. проблема была в uBlock Origin, а не в <link rel="preload" ...> теги.

  2. С помощью этого сценария GM я могу легко блокировать все скрипты и конкретно белый список, что я желаю.

1
отвечен user21820 2022-12-18 15:59

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх