Essayer de charger jquery dans le script Tampermonkey

133

J'écris un script qui se connecte à mon réseau universitaire lorsque la page de connexion est chargée.

Le code ressemble à ceci

// ==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 affiche une erreur disant

$ is not defined

Quelqu'un peut-il me dire ce qui se passe ici?

Jonas
la source

Réponses:

304

Vous devez avoir un @requiredans l'en-tête du script utilisateur pour charger jQuery. Quelque chose comme:

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

(Sélection de la version souhaitée dans la liste des versions disponibles de jQuery )

Aardvark99
la source
18
Veuillez ne pas utiliser jquery-latest. blog.jquery.com/2014/07/03/dont-use-jquery-latest-js
8
Soyez averti que cela peut interférer avec la propre définition de la page de$
Owen
1
@Owen et comment traiterions-nous cela
Menasheh
@Menasheh jQuery.noConflict () .
Dan Atkinson
Sachez également que le propre jQuery de la page peut venir et écraser la @requireversion D. noConflictaidera également avec cela.
jinglesthula