我试着放这条线,但不管用:
// @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解除网页上的事件绑定时,@require元不起作用,你必须使用网页中包含的jQuery库,然后在Greasemonkey中使用var $ = unsafeWindow.jQuery;如何在greasemonkey解除绑定jquery事件处理程序?
其他回答
当你想要使用jQuery解除网页上的事件绑定时,@require元不起作用,你必须使用网页中包含的jQuery库,然后在Greasemonkey中使用var $ = unsafeWindow.jQuery;如何在greasemonkey解除绑定jquery事件处理程序?
如果直接导入jQuery脚本,可能会导致Component不可用。
也许这就是@康利所说的……
你可以使用
@require http://userscripts.org/scripts/source/85365.user.js
这是一个修改版本的工作在Greasemonkey,然后得到jQuery对象
var $ = unsafeWindow.jQuery;
$("div").css("display", "none");
Rob的解决方案是正确的——使用@require和jQuery库,并确保重新安装脚本,以便指令得到处理。
我认为值得补充的一点是,一旦在脚本中包含了jQuery,就可以正常使用它,AJAX方法除外。默认情况下,jQuery寻找XMLHttpRequest,这在Greasemonkey上下文中并不存在。我写过一种变通方法,为GM_xmlhttpRequest (XHR的Greasemonkey版本)创建包装器,并使用jQuery的ajaxSetup()指定包装版本为默认版本。一旦你这样做,你可以使用$。Get和$。像往常一样邮寄。
使用jQuery的$。getJSON,因为它使用<script>标记加载JSONP。这将导致错误,因为jQuery在Greasemonkey窗口的范围内定义回调函数,而加载的脚本在主窗口的范围内查找回调函数。你最好的选择是使用$。使用JSON.parse()解析结果。
@require不仅在脚本第一次安装时被处理! 根据我的观察,它是在第一次执行时处理的!因此,您可以通过Greasemonkey的命令安装一个脚本,以创建一个全新的脚本。唯一需要注意的是,在添加@requirepart之前,不会触发页面重新加载。(并保存新脚本…)
如果你正在使用chrome,你必须选择一个替代品,因为chrome不支持@require。
来源:铬项目-用户脚本
关于如何在谷歌Chrome浏览器的Greasemonkey脚本中使用jQuery的更多详细信息和替代方案?