programing

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

bestprogram 2023. 8. 5. 10:46

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

로그인 페이지가 로드되면 대학 네트워크에 로그인하는 스크립트를 작성하고 있습니다.

코드는 다음과 같습니다.

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

여기서 무슨 일이 일어나고 있는지 누가 말해줄 수 있나요?

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

// @require https://code.jquery.com/jquery-3.6.0.min.js

(jQuery의 사용 가능한 버전 목록에서 원하는 버전 선택)

미래의 구글 사용자들을 위해,

위의 방법을 사용했는데도 여전히 스크립트에 의해 jQuery가 로드되지 않는 것 같으면 공백을 보고 들여쓰기를 헤더의 나머지 부분과 일치시켜 보십시오.보아하니 들여쓰기가 중요한 것 같습니다.

결함:

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://stackoverflow.com/*
// @require http://code.jquery.com/jquery-3.4.1.min.js 
// @grant        none
// ==/UserScript==

정답:

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://stackoverflow.com/*
// @require      http://code.jquery.com/jquery-3.4.1.min.js 
// @grant        none
// ==/UserScript==

언급URL : https://stackoverflow.com/questions/24753908/trying-to-load-jquery-into-tampermonkey-script