我试着放这条线,但不管用:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
jQuery在Greasemonkey中根本不起作用。在Greasemonkey中有其他使用jQuery的方法吗?
--
对于所有有相同问题的人,您必须将文件上传到greasspot,然后从那里安装它。
“创建新脚本”选项不起作用!
我试着放这条线,但不管用:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
jQuery在Greasemonkey中根本不起作用。在Greasemonkey中有其他使用jQuery的方法吗?
--
对于所有有相同问题的人,您必须将文件上传到greasspot,然后从那里安装它。
“创建新脚本”选项不起作用!
当前回答
如果你想在一个已经包含jQuery的网站上使用jQuery,这是一种方法(灵感来自BrunoLM):
var $ = unsafeWindow.jQuery;
我知道这不是你问这个问题的初衷,但它越来越成为一种常见的情况,而你并没有明确地排除这种情况。;)
其他回答
您可以使用Greasemonkey中的新用户脚本创建一个新脚本,但您必须编辑gm_scripts文件夹中的config.xml文件。
你的config.xml文件应该有类似的语法:
<Script filename="jquery_test.user.js" name="jQuery Test" namespace="http://www.example.com/jQueryPlay/" description="Just a test" enabled="true" basedir="jquery_test">
<Include>http://*</Include>
<Require filename="jquery.js"/>
</Script>
注意<Require>标记。
在脚本中,可以直接使用jQuery语法。确保在Greasemonkey头中有require标记。下面是一个Hello World的例子:
// ==UserScript==
// @name Test jQuery
// @namespace http://www.example.com/jQueryPlay/
// @description Just a test
// @include http://*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
// ==/UserScript==
$(document).ready(function() {
alert("Hello world!");
});
请记住,在修改config.xml之后,您必须重新启动浏览器以便Greasemonkey重新加载设置。
还要注意,你需要将jquery.js文件复制到你的脚本目录文件夹中,这样才能正常工作。我测试了一下,只有手动复制文件才能正常工作。
jquery快乐!
在Greasemonkey脚本中包含整个jQuery绝对没有错。只需获取源代码,并将其放在用户脚本的顶部。不需要创建脚本标记,因为您已经在执行JavaScript了!
不管怎样,用户只下载一次脚本,所以脚本的大小不是一个大问题。此外,如果你想让你的Greasemonkey脚本在非gm环境中工作(比如Opera的gm风格的用户脚本,或者Safari上的Greasekit),不要使用通用特有的结构,比如@require。
如果你正在使用chrome,你必须选择一个替代品,因为chrome不支持@require。
来源:铬项目-用户脚本
关于如何在谷歌Chrome浏览器的Greasemonkey脚本中使用jQuery的更多详细信息和替代方案?
更新:正如下面的评论所说,这个答案已经过时了。
正如其他人所说,@require只在脚本安装完成后才运行。但是,您还应该注意到目前jQuery 1.4。*对油猴不起作用。详情如下: http://forum.jquery.com/topic/importing-jquery-1-4-1-into-greasemonkey-scripts-generates-an-error
在事情发生变化之前,您将不得不使用jQuery 1.3.2。
当你想要使用jQuery解除网页上的事件绑定时,@require元不起作用,你必须使用网页中包含的jQuery库,然后在Greasemonkey中使用var $ = unsafeWindow.jQuery;如何在greasemonkey解除绑定jquery事件处理程序?