Спроба завантажити jquery в сценарій tampermonkey


132

Я пишу сценарій, який входить у свою мережу коледжу, коли завантажується сторінка входу.

Код виглядає наступним чином

// ==UserScript==
// @name       My Fancy New Userscript
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description  enter something useful
// @match      <College login page>
// @copyright  2012+, You
// ==/UserScript==    
$(document).ready(function() {

    var usr=document.getElementsByName("username");

    var pass = document.getElementByName("password");

    usr.value="usrname";    
    pass.value="password";    

    var submitButton = document.querySelector ('input[type="submit"][value="Login"]');

    var clickEvent  = document.createEvent ('MouseEvents');

    clickEvent.initEvent ('click', true, true);

    submitButton.dispatchEvent (clickEvent);

    });

На консолі відображається повідомлення про помилку

$ is not defined

Може хтось скаже мені, що тут відбувається?

Відповіді:


303

@requireДля завантаження jQuery потрібно мати в заголовку сценарію користувача. Щось на зразок:

// @require http://code.jquery.com/jquery-3.4.1.min.js

(Вибір потрібної версії зі списку доступних версій jQuery )


18
Будь ласка, не використовуйте jquery-latest. blog.jquery.com/2014/07/03/dont-use-jquery-latest-js

8
Попереджуйте, що це може заважати власному визначенню сторінки$
Оуен

1
@Owen і як би ми з цим
боролися


Також пам’ятайте, що власне jQuery сторінки може зійти та придумати @requireверсію d. noConflictтакож допоможе в цьому.
jinglesthula
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.