我在GM 1.5中使用jQuery,发现我无法使用.get
我需要http://code.jquery.com/jquery.js
我的代码就是这个
this.$ = this.jQuery = jQuery.noConflict(true);
$(document).ready(function () {
$.get('index.php',function () {
console.log('yay');
console.log($(this).html());
});
});
我确信我之前的版本能够做到这一点,这是否与沙箱更改有关?
答案 0 :(得分:1)
问题中的代码运行正常。在Windows XP和Windows 7上使用Greasemonkey 1.5和Firefox 16和17进行验证。
回复:
唉,现在我被告知GM_setValue不存在。我不认为它是GM_函数和jQuery功能之间的选择
您无需选择。不要注入jQuery(或大多数其他库)使用@require
。然后,使用正确的@grant
指令,您可以轻松使用GM_
函数。
this.$ = this.jQuery = jQuery.noConflict(true);
等代码没有意义,除非您使用@grant none
- 这会关闭GM_
个功能。
$(document).ready()
,否则Greasemonkey脚本中不需要 @run-at document-start
。
所以,使用这样的代码:
// ==UserScript==
// @name YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_getValue
// @grant GM_setValue
// @grant etc., etc.
// ==/UserScript==
$.get ('index.php', function () {
console.log ('yay');
console.log ($(this).html () );
} );