我无法运行我在DuckDuckGo.com上清理搜索结果的简单GreaseMonkey脚本。下面的代码只是从结果中删除“图像”和“视频”按钮。
// ==UserScript==
// @name Relevance
// @include http://duckduckgo.com/*
// @include https://duckduckgo.com/*
// @version 1
// @grant none
// ==/UserScript==
function Relevant(){
var killIt=["zcm__link js-zci-link js-zci-link--images ", "zcm__link js-zci-link js-zci-link--videos "];
var el = document.getElementsByTagName("a");
for (i = 0; i < el.length; i++)
{
for (j=0;j<killIt.length; j++)
{
if (el[i].className==killIt[j])
{
el[i].parentNode.removeChild(el[i]);
}
}
}
};
$(window).load (Relevant());
代码在控制台中输入时有效,但它不能用作Greasemonkey脚本。我尝试调整here找到的解决方案(即使用$(window).load (Relevant());
),但我仍遇到问题。这是我第一次尝试制作自己的用户脚本,所以非常感谢任何帮助。
答案 0 :(得分:1)
正如@charlietfl所说,$(window).load (Relevant());
立即调用相关,它应该更改为$(Relevant)
。
如果有效,请尝试:https://wiki.greasespot.net/Metadata_Block#.40run-at
如果这不起作用,请尝试使用setTimeout(Relevant,3000)
;
通常,代码在控制台中工作并不适用于greasemonkey,因为当greasemonkey脚本运行时,doms可能无法呈现。