如何在 Greasemonkey Javascript 脚本中使用 jQuery?
我在这里看到了一个问题,也看到了很多关于将 jquery 引入 Greasemonkey 的博客文章,但我无法让任何东西发挥作用。
这是我的脚本:
// ==UserScript==
// @name Hello jQuery
// @namespace http://foo.bar
// @description jQuery test script
// @include *
// ==/UserScript==
#{contents of jquery.latest.js pasted in}
unsafeWindow.jQuery = jQuery;
$(document).ready(function() {
alert('Hello world!');
});
我希望在刷新页面时看到警报,这样我就可以开始实际编程。我尝试了很多其他方法,但到目前为止没有任何效果。该脚本在小猴子菜单中启用...
编辑:脚本部分现在看起来像这样:
foo();
function foo() {
$ = unsafeWindow.jQuery;
$('tr td.row2:nth-child(4)').css("background-color", "#999");
}
它不起作用。我知道 jQuery 很好,因为我可以从 Greasemonkey 外部运行它。 如果不用 jQuery 函数,只需说alert('hello');效果很好;我收到页面加载警报。
I saw a question here and many blog posts about getting jquery into greasemonkey, but I can't get anything to work.
Here's my script:
// ==UserScript==
// @name Hello jQuery
// @namespace http://foo.bar
// @description jQuery test script
// @include *
// ==/UserScript==
#{contents of jquery.latest.js pasted in}
unsafeWindow.jQuery = jQuery;
$(document).ready(function() {
alert('Hello world!');
});
I'm hoping to see an alert when I refresh a page, so I can start actually programming something. I've tried a bunch of other things and so far nothing works. The script is enabled in the little monkey menu...
edit: the script part now looks like this:
foo();
function foo() {
$ = unsafeWindow.jQuery;
$('tr td.row2:nth-child(4)').css("background-color", "#999");
}
it doesn't work. I know the jQuery is good because I can run it from outside of greasemonkey.
If instead of a jQuery function is just say alert('hello'); that works fine; I get the alert on page-load.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,首先,我不会将 jQuery 粘贴到其中。只需使用
@require
Greasemonkey 指令(这必须位于您的脚本标头中)。另外,您还可以向后分配 jQuery。它应该更像是:
这是我通常在 我的脚本 中所做的事情。
Well, first off, I wouldn't paste jQuery into it. Just use the
@require
Greasemonkey directive (this must be in your script header).Also, you have the jQuery assignment backwards. It should be more like:
This is what I usually do in my scripts.
使用
@require
导入的 jQuery 似乎驻留在 window 而不是 unsafeWindow 中。jQuery imported using
@require
seems to reside in window not unsafeWindow.