我的 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。
我在 运行 一个简单的 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。