我正在编写一个脚本,在加载登录页面时会登录我的大学网络。
代码如下
// ==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
有人可以告诉我这里发生了什么吗?
答案 0 :(得分:257)
您需要在用户脚本标头中加载@require
才能加载jQuery。类似的东西:
// @require http://code.jquery.com/jquery-3.3.1.min.js
(从list of available versions of jQuery中选择所需的版本)
答案 1 :(得分:3)
对于未来的谷歌员工,
如果您使用了上述方法,但脚本似乎仍未加载 jQuery,请尝试查看空格,并尝试将缩进与标题的其余部分进行匹配。显然缩进很重要。
错误:
select
case, group, department, riskscore
from sometable
where (group in ('A', 'B') and group in ('one') and riskscore>5.5)
or (group in ('A', 'B') and group in ('two') and riskscore>8.0)
正确:
// ==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==