greasemonkey и jquery не работают
Я использую jQuery с GM 1.5 и обнаружил, что не могу использовать.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());
});
});
Я уверен, что смог сделать это в предыдущих версиях, это как-то связано с изменениями в песочнице, которые были сделаны?
1 ответ
Код в вопросе работает нормально. Проверено с Greasemonkey 1.5 и Firefox 16 и 17 на Windows XP и Windows 7.
Re:
Ага, теперь мне говорят, что 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 () );
} );