страница GreaseSpot на блоках метаданных говорит, что эти два очень похожи, но @match
"устанавливает более строгие правила того, что *
символ означает". Затем GreaseSpot переходит к преподавать с помощью @include
, но примеры Chrome, такие как это, как правило, используют @match
и указывают, что @include
поддерживается только для целей совместимости; @match
является предпочтительным.
Видно, @include google.*
может работать на google.evil.com, а @match google.*
не может.
Этот один пример недостаточен, чтобы действительно увидеть, как подстановочные знаки ведут себя по-разному между этими двумя, и более подробные объяснения запрашиваются здесь.
Новые сценарии GreaseMonkey (Firefox) используют @include
по умолчанию, а новые скрипты TamperMonkey (например, Chrome) по умолчанию используют @match
.
В чем именно отличия между этими двумя?
Например, как каждый обрабатывает подстановочные знаки?
Существуют ли различия в совместимости между браузерами?
Какие причины у кого-то есть для выбора одного из них?