我试着放这条线,但不管用:
// @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;
我知道这不是你问这个问题的初衷,但它越来越成为一种常见的情况,而你并没有明确地排除这种情况。;)
其他回答
如果你正在使用chrome,你必须选择一个替代品,因为chrome不支持@require。
来源:铬项目-用户脚本
关于如何在谷歌Chrome浏览器的Greasemonkey脚本中使用jQuery的更多详细信息和替代方案?
如果你想在一个已经包含jQuery的网站上使用jQuery,这是一种方法(灵感来自BrunoLM):
var $ = unsafeWindow.jQuery;
我知道这不是你问这个问题的初衷,但它越来越成为一种常见的情况,而你并没有明确地排除这种情况。;)
在Greasemonkey脚本中包含整个jQuery绝对没有错。只需获取源代码,并将其放在用户脚本的顶部。不需要创建脚本标记,因为您已经在执行JavaScript了!
不管怎样,用户只下载一次脚本,所以脚本的大小不是一个大问题。此外,如果你想让你的Greasemonkey脚本在非gm环境中工作(比如Opera的gm风格的用户脚本,或者Safari上的Greasekit),不要使用通用特有的结构,比如@require。
如果直接导入jQuery脚本,可能会导致Component不可用。
也许这就是@康利所说的……
你可以使用
@require http://userscripts.org/scripts/source/85365.user.js
这是一个修改版本的工作在Greasemonkey,然后得到jQuery对象
var $ = unsafeWindow.jQuery;
$("div").css("display", "none");
也许你还没有最新版本的Greasemonkey。在0.8版本中添加了@require。
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
如果没有0.8,那么使用Joan Piedra描述的技术手动向页面添加脚本元素。
在版本0.8和0.9之间,@require只在脚本第一次安装时被处理。如果你改变了所需的脚本列表,你需要卸载你的脚本并重新安装;Greasemonkey在安装时下载所需的脚本一次,然后使用缓存副本。
在0.9版中,Greasemonkey行为发生了变化(以解决一个切线相关的问题),因此它现在在每次编辑后都会加载所需的脚本;不再需要重新安装脚本。