I am writing a script which logs into my college network when the login page is loaded.

The code looks as follows

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

    });

The console shows a error saying

$ is not defined

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

推荐答案

You need to have a @require in the user script header to load jQuery. Something like:

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

(从list of available versions of jQuery个选项中 Select 所需的版本)

Jquery相关问答推荐

如何用each替换元素的attr href

ASP.NET Core 6 jQuery 验证不起作用

formData.append 来自不同输入文件的两个文件

如何使 Bootstrap 轮播滑块使用移动左/右滑动

将日期时间从 javascript 传递给 c# (Controller)

使用 jQuery,当用户仍在编辑该字段时,如何将文本字段的第一个字母大写?

Bootstrap 3 RC 1 中的 typeahead JavaScript 模块在哪里?

我们如何在不重新加载页面的情况下使用 javascript/jQuery 更新 URL 或查询字符串?

如何使用 jQuery 或 JavaScript 模拟单击​​按钮的动作?

为特定请求禁用 ajaxStart() 和 ajaxStop()

Zepto 和 jQuery 2 有什么区别?

javascript 正则表达式用于包含至少 8 个字符、1 个数字、1 个大写和 1 个小写的密码

验证外部脚本是否已加载

使用 jQuery 获取选定的选项 id

使用 jQuery 拖放防止单击事件

使用 jQuery 获取鼠标单击图像的 X/Y 坐标

AngularJS:使用 jQuery 更改时,ng-model 绑定不更新

Google 的 CDN 上的最新 jQuery 版本

如何使用 jquery 使下拉列表只读?

CORS - 如何预检httprequest?