Tampermonkey 스크립트에 jquery를로드하려고합니다.


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

당신은 가질 필요가 @requirejQuery를로드 할 사용자 스크립트 헤더를. 다음과 같은 것 :

// @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
이것이 페이지의 자체 정의를 방해 할 수 있음에 유의하십시오.$
Owen

1
@Owen 그리고 우리는 그것을 다루는 방법
Menasheh


또한 페이지 자체의 jQuery가 와서 @required 버전을 방해 할 수 있습니다 . noConflict또한 도움이 될 것입니다.
jinglesthula
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.