Для GM каждый сценарий выполняется в своей области видимости, поэтому, если вы используете @require
или вставляете библиотеку (например, jQuery) непосредственно в свой пользовательский скрипт (что фактически эквивалентно), то это не повлияет на сценарии загружен страницей. Таким образом, не имеет значения, если на страницу уже загружен jQuery, вы все равно можете загрузить любую версию в свой пользовательский скрипт. Однако есть некоторые версии jQuery, которые не работают в пользовательском сценарии, и иногда люди рекомендуют изменить ссылку на переменную window
на unsafeWindow
, чтобы заставить jQuery работать, если вы сделаете это, то все, что я только что сказал, выходит из строя окно, потому что область действия unsafeWindow - это то место, куда загружаются сценарии страницы, поэтому игра с этим означает, что вы покидаете область действия сценария пользователя.
Так что, если вы хотите использовать jQuery, найдите версию, которая может быть @require
'(я думаю, что 1.3.2 может работать) без необходимости использовать unsafeWindow.
Если вы должны использовать unsafeWindow, сделайте следующее:
// check that jQuery is not already loaded
if (!unsafeWindow.$) {
// paste jQuery code here..
}