Как я могу использовать jQuery в Механике?

Одна проблема здесь:

while ( final3 == final1 && final3 == final2);

Должно быть

while ( final3 == final1 || final3 == final2);

Условие должно быть ИЛИ, а не И.

При этом я предполагаю, что это для класса, который вы посещаете. Я дам вам несколько советов. Все это может быть сделано намного проще и понятнее с помощью знаний, которые вы уже продемонстрировали в приведенном выше коде. Вам просто нужно больше думать о том, как можно более эффективно использовать циклы и классы для достижения своей цели.

231
задан Keira Nighly 13 May 2009 в 06:57
поделиться

5 ответов

Возможно, у вас недостаточно свежая версия Greasemonkey. Версия 0.8 добавила @require .

// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js 

Если у вас нет 0.8, используйте технику, которую Джоан Пьедра описывает для , вручную добавляя элемент script в страница .

Между версиями 0.8 и 0.9, @require обрабатывается только при первой установке скрипта. Если вы измените список необходимых скриптов, вам необходимо удалить ваш скрипт и переустановить его; Greasemonkey загружает требуемый скрипт один раз при установке и после этого использует кэшированную копию.

Начиная с версии 0.9, поведение Greasemonkey изменилось (для решения косвенно связанной проблемы ), так что теперь он загружает необходимые скрипты после каждого редактировать; переустановка сценария больше не требуется.

затем используйте технику, которую Джоан Пьедра описывает для , вручную добавляя элемент script на страницу .

Между версиями 0.8 и 0.9 @require равно обрабатывается только при первой установке скрипта. Если вы измените список необходимых скриптов, вам необходимо удалить ваш скрипт и переустановить его; Greasemonkey загружает требуемый скрипт один раз при установке и после этого использует кэшированную копию.

Начиная с версии 0.9, поведение Greasemonkey изменилось (для решения косвенно связанной проблемы ), так что теперь он загружает необходимые скрипты после каждого редактировать; переустановка сценария больше не требуется.

затем используйте технику, которую Джоан Пьедра описывает для , вручную добавляя элемент script на страницу .

Между версиями 0.8 и 0.9 @require равно обрабатывается только при первой установке скрипта. Если вы измените список необходимых скриптов, вам необходимо удалить ваш скрипт и переустановить его; Greasemonkey загружает требуемый скрипт один раз при установке и после этого использует кэшированную копию.

Начиная с версии 0.9, поведение Greasemonkey изменилось (для решения косвенно связанной проблемы ), так что теперь он загружает необходимые скрипты после каждого редактировать; переустановка сценария больше не требуется.

@require обрабатывается только при первой установке скрипта. Если вы измените список необходимых скриптов, вам необходимо удалить ваш скрипт и переустановить его; Greasemonkey загружает требуемый скрипт один раз при установке и после этого использует кэшированную копию.

Начиная с версии 0.9, поведение Greasemonkey изменилось (для решения косвенно связанной проблемы ), так что теперь он загружает необходимые скрипты после каждого редактировать; переустановка сценария больше не требуется.

@require обрабатывается только при первой установке скрипта. Если вы измените список необходимых скриптов, вам необходимо удалить ваш скрипт и переустановить его; Greasemonkey загружает требуемый скрипт один раз при установке и после этого использует кэшированную копию.

Начиная с версии 0.9, поведение Greasemonkey изменилось (для решения косвенно связанной проблемы ), так что теперь он загружает необходимые скрипты после каждого редактировать; переустановка сценария больше не требуется.

Поведение Greasemonkey изменилось (для решения косвенно связанной проблемы ), так что теперь он загружает необходимые сценарии после каждого редактирования; переустановка сценария больше не требуется.

Поведение Greasemonkey изменилось (для решения косвенно связанной проблемы ), так что теперь он загружает необходимые сценарии после каждого редактирования; переустановка сценария больше не требуется.

186
ответ дан 23 November 2019 в 03:37
поделиться

Нет ничего плохого в том, чтобы полностью включить jQuery в ваш сценарий Greasemonkey. Просто возьмите исходный код и поместите его вверху вашего пользовательского скрипта. Нет необходимости создавать тег сценария, поскольку вы уже выполняете JavaScript!

Пользователь в любом случае загружает сценарий только один раз, поэтому размер сценария не имеет большого значения. Кроме того, если вы когда-нибудь захотите, чтобы ваш сценарий Greasemonkey работал в средах, отличных от GM (таких как пользовательские сценарии Opera в стиле GM или Greasekit в Safari), это поможет не использовать уникальные для GM конструкции, такие как @require.

21
ответ дан 23 November 2019 в 03:37
поделиться

Вы можете создать новый скрипт, используя New User Script в Greasemonkey, но вы должны отредактировать файл config.xml в папке gm_scripts.

Ваш config.xml файл должен иметь такой же синтаксис, как и этот:

<Script filename="jquery_test.user.js" name="jQuery Test" namespace="http://www.example.com/jQueryPlay/" description="Just a test" enabled="true" basedir="jquery_test">
        <Include>http://*</Include>
        <Require filename="jquery.js"/>
</Script>

Обратите внимание на тэг .

В вашем скрипте вы можете использовать прямой синтаксис jQuery. Убедитесь, что у вас есть требуемый тег в заголовке Greasemonkey. Вот пример Hello World:

// ==UserScript==
// @name           Test jQuery
// @namespace      http://www.example.com/jQueryPlay/
// @description    Just a test
// @include        http://*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
// ==/UserScript==

$(document).ready(function() {  
        alert("Hello world!");
});

Помните, что после изменения config.xml вам нужно перезапустить браузер для Greasemonkey, чтобы перезагрузить настройки заново.

Также обратите внимание, что вам нужно скопировать файл jquery.js в папку каталога вашего скрипта, чтобы это работало. Я протестировал это, и это работает, только если вы действительно скопируете файл туда вручную.

Счастливого jQuerying!

.
3
ответ дан 23 November 2019 в 03:37
поделиться

Решение Роба правильное - используйте @require с библиотекой jQuery и обязательно переустановите ваш скрипт, чтобы директива обрабатывалась.

Одна вещь, которую я думаю стоит добавить, это то, что вы можете использовать jQuery нормально, как только вы включили его в свой скрипт, кроме методов AJAX. По умолчанию jQuery ищет XMLHttpRequest, который не существует в контексте Greasemonkey. Я писал о обходном пути, когда вы создаете обертку для GM_xmlhttpRequest (версия XHR для Greasemonkey) и используете ajaxSetup() jQuery, чтобы указать вашу обертку в качестве версии по умолчанию. После этого вы сможете использовать $.get и $.post как обычно.

У вас также могут возникнуть проблемы с jQuery $.getJSON, потому что он загружает JSONP, используя теги