在GMail的GreaseMonkey脚本中使用jQuery

时间:2010-01-01 10:42:15

标签: jquery greasemonkey

我正在尝试编写一个Greasemonkey脚本来更改默认GMail UI上的颜色,使用jQuery选择我想要更改的元素。但是,我无法让事情工作/调试。当我最终纠正我的“@requires”网址时,我发现很难确定哪个div在数十亿嵌套div中实际呈现出我想要改变的颜色。他们中的大多数只装饰了一个类,.nH,

这是我要更改的收件箱上方的蓝色条。

我没有看到任何错误,但我的GM_Log调用似乎被忽略了,并且没有定义jQuery。我怀疑后一个问题是GreaseMonkey在我的用户脚本执行后卸载了jQuery。我甚至关闭了吗?如果我可以在控制台窗口中测试选择器,那就太好了。

5 个答案:

答案 0 :(得分:4)

出于调试目的,您可以使用jquerify将jquery加载到页面中。这应该允许您找出GM查询中所需的选择器。您也可以试用selector gadget这是一个简单的工具,可用于制定选择页面元素的规则。

答案 1 :(得分:2)

如果您将以下内容复制并粘贴到Chrome中的javascript控制台,您将看到加载jQuery并执行查询的示例。希望这有助于但老实说,谷歌HTML / CSS是一个移动目标,你所做的任何事情都可能最终不稳定。

var scr = document.createElement('script');
scr.setAttribute('src','https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
document.getElementsByTagName('body')[0].appendChild(scr);

// wait for the script to load before doing this line
jQuery(document.getElementById('canvas_frame').contentDocument).find('.nU a.n0');

答案 2 :(得分:0)

将jQuery嵌入Chrome控制台的完美扩展程序尽可能简单。如果jQuery已经嵌入到页面中,这个扩展也会提出异议。

此扩展用于将jQuery嵌入到您想要的任何页面中。它允许在控制台shell中使用jQuery(您可以通过“Ctrl + Shift + j”调用Chrome控制台)。

要将jQuery嵌入到选定的选项卡中,请单击“扩展”按钮。

LINK 到分机: https://chrome.google.com/extensions/detail/gbmifchmngifmadobkcpijhhldeeelkc

答案 3 :(得分:0)

您可以发布您的代码,以便我们可以看到可能无效的内容吗?

此外,这里是我的一个使用JQuery的脚本的链接,因此您可以查看源代码以检查如何执行此操作。

http://userscripts.org/scripts/show/77701

PS:如果重新安装脚本,则会再次下载@require。我测试了它。

答案 4 :(得分:-1)

关于如何在Greasemonkey中使用jQuery:

// @require http://www.example.com/example.js

更多信息:http://wiki.greasespot.net/Metadata_Block#.40require

或者在Chrome中使用jQuery:http://erikvold.com/blog/index.cfm/2010/6/14/using-jquery-with-a-user-script