我的 Greasemonkey 脚本在控制台中输入时有效,但在 Firefox 中尝试使用时却无效

My Greasemonkey script works when typed in the console, but not when I try to use it in Firefox

我在 运行 一个简单的 GreaseMonkey 脚本上遇到了问题,该脚本是我用来清理 DuckDuckGo.com 上的搜索结果的。下面的代码只是从结果中删除 "Images" 和 "Videos" 按钮。

// ==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());),但我仍然遇到问题。这是我第一次尝试制作自己的用户脚本,因此非常感谢您的帮助。

正如@charlietfl 所说,$(window).load (Relevant()); 立即调用 Relevant,应将其更改为 $(Relevant)

如果有效,试试这个:https://wiki.greasespot.net/Metadata_Block#.40run-at

如果这不起作用,请尝试使用 setTimeout(Relevant,3000);

在控制台中运行的代码在 greasemonkey 中不起作用是很常见的,因为在 greasemonkey 脚本运行时可能无法呈现 dom。