我正在编写目前正在使用tampermonkey的代码,但我无法解决为什么我在google chrome的控制台中出现此错误,"执行脚本' PalaceBOT&# 39;失败! $未定义",我有另一个使用相同主体的脚本,我没有遇到这些问题。
脚本:
// ==UserScript==
// @name SupremeBOT
// @namespace
// @version 0.1
// @description
// @author @alfiefogg_
// @match http://www.supremenewyork.com/shop/*
// @exclude http://wwww.supremenewyork.com/shop/cart
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
// @grant none
// ==/UserScript==
var mySize = "large"; //Change to appropriate size
var productSort = "accessories"; //Change to appropriate size
(function() {
var articles = $(".product-grid-item clearfix");
if(productSort != "all"){
for(var i = 0; i < articles.length;i++)
{
var category = $(articles[i]).find("a").attr("href");
if(category.indexOf(productSort) == -1){
articles[i].remove();
document.getElementsByClassName("product-grid-item clearfix")[4].click();
}
}
}
waitForKeyElements("#img-main", exe);
})();
function exe(){
selectSize();
goCheckout();
}
function goCheckout(){
var x = document.getElementById("add-remove-buttons");
var z = x.getElementsByClassName("button")[0];
if(z.className != "button remove"){
z.click();
setTimeout(goCheckout ,100);
}else{
window.location = "https://www.supremenewyork.com/checkout";
}
}
function selectSize(){
var sizeObj = document.getElementById("size");
for(var i=0,sL=sizeObj.length;i<sL;i++){
if(sizeObj.options[i].text == mySize){
sizeObj.selectedIndex = i;
break;
}
}
}
请记住,这不是一个完成的脚本。
答案 0 :(得分:11)
从窗口对象
获取jQueryvar $ = window.jQuery;
答案 1 :(得分:2)
除了this之外,我没有找到更好的答案。
通常,这段代码定义了在tampermonkey编辑器中进一步使用的库。
/* globals MY_LIB*/
使用该按钮将取消所有警告。
有关更多信息,请检查此(https://jshint.com/docs/#inline-configuration)。 它解释了什么是全局变量,以及它们如何工作。
答案 2 :(得分:-1)
您需要包含JQuery $不是常规javascript的一部分