尝试将 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

有人能告诉我这是怎么回事吗?

112921 次浏览

你需要在用户脚本头部有一个 @require来加载 jQuery,比如:

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