GM_setValue не определен

Я пытаюсь получить довольно простой скрипт, который сохраняет значение и извлекает его в преемнике GreaseMonkey: Scriptish.

Браузер: Firefox 9.0
Scriptish: 0.1.7
В 64-разрядной версии Windows 7 Ultimate

// ==UserScript==
// @id             testSerialization
// @name           Test Serialization
// @version        1.0
// @namespace      com.mobilvox.com
// @author         
// @description    
// @include        http://www.google.com/
// @run-at         document-end
// ==/UserScript==

GM_setValue("isCurrent", true);
GM_log("Is this script current? " + GM_getValue("isCurrent", false));

Когда я запускаю его, я получаю:

[10:29:59.074] GM_setValue is not defined
@Scratchpad:29
 @ Scratchpad:29

person leeand00    schedule 14.06.2012    source источник
comment
Попробуйте удалить эти пустые записи в метаданных (в данном случае @author и @description). Поврежденный или неправильный блок метаданных иногда дает такие ошибки (или раньше). Убедитесь, что блок метаданных заполнен, слева в файле нет пробелов или отступов перед начальным //.   -  person Brock Adams    schedule 15.06.2012


Ответы (2)


Это похоже на возможную ошибку, см. связанные ошибки, такие как "GM_setValue не работает ".

Возможные действия:

  1. Firefox 9 устаревает. Обновите до FF 12 или FF 13 и посмотрите, сохраняется ли проблема.
  2. Файл отчет об ошибке для Scriptish.
person Brock Adams    schedule 14.06.2012
comment
Я нахожусь на канале выпуска для FF, я удивлен, что он не попросил меня обновиться. Ну ладно... *делает это вручную* На самом деле я переключился на GreaseMonkey после того, как заметил, что они только что выпустили релиз... но у меня все еще проблемы с GM... не могу повторно сохранить переменную... но это уже другой вопрос... - person leeand00; 15.06.2012

У меня есть полный рабочий код с кодами jQuery и GM_. Попробуй это:

// ==UserScript==
// @name           GM_ debug script
// @description    checking GM_setValue and GM_getValue with jQuery
// @namespace      eaposztrof
// @include        *
// @require     http://code.jquery.com/jquery-1.9.1.js
// @grant       GM_getValue // [grants][1]
// @grant       GM_setValue
// ==/UserScript==

function GM_getValueUTF8(key) { // UTF8 safe
    var value = GM_getValue(key);
    return (value && value.length) ? decodeURI(value) : '';
}

function GM_setValueUTF8(key, value) {
    GM_setValue(key, encodeURI(value));
}

    GM_setValueUTF8('asd','GM_setValue, GM_getValue working! press [Alt+X] to check with jQuery');
    alert(GM_getValueUTF8('asd'));

(function (){
    this.$ = this.jQuery = jQuery.noConflict(true);

    $(document).ready(function () {

        $ (document).keydown (function (e) {
            switch (e.keyCode) {
                case 88:    // "x"
                    if (e.altKey) {
                        setTimeout(function() { // [workaround][2]
                            GM_setValueUTF8('asd','GM_setValue, GM_getValue working inside jQuery');
                            alert(GM_getValueUTF8('asd'));
                        }, 0);
                    }
            }
        });
    });
}
//
) ();
person eapo    schedule 03.06.2013