Tentativo di caricare jquery nello script tampermonkey


132

Sto scrivendo uno script che accede alla mia rete universitaria quando viene caricata la pagina di accesso.

Il codice ha il seguente aspetto

// ==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);

    });

La console mostra un errore che dice

$ is not defined

Qualcuno può dirmi cosa sta succedendo qui?

Risposte:


303

È necessario disporre di un @requirenell'intestazione dello script utente per caricare jQuery. Qualcosa di simile a:

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

(Selezione della versione desiderata dall'elenco delle versioni disponibili di jQuery )


18
Per favore, non usare jquery-latest. blog.jquery.com/2014/07/03/dont-use-jquery-latest-js

8
Tieni presente che ciò potrebbe interferire con la definizione della pagina di$
Owen,

1
@Owen e come potremmo affrontarlo
Menasheh,


Inoltre, tieni presente che jQuery della pagina potrebbe arrivare e bloccare la @requireversione d. noConflictaiuterà anche con quello.
jinglesthula,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.