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?

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 )


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


Sachez également que le propre jQuery de la page peut venir et écraser la @requireversion D. noConflictaidera également avec cela.
jinglesthula
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.