Как мне заставить jQuery работать со скриптом Greasemonkey 0.8 (в Firefox 2) без интернета на ПК?

Я использую Firefox 2.0.0.11 и Greasemonkey 0.8.x и последнюю версию jQuery (1.3.2), которая работает с Greasemonkey 0.8.
Я пытаюсь загрузить этот Userscript:

// ==UserScript==
// @name        TEST
// @include     *
// @require     jquery.min.js
// @grant       GM_getValue
// ==/UserScript==

$(document).ready(function(){
    alert('jQuery!');
});     

но я получаю ошибку:

Error: $ is not defined
Source File: file:///G:/Firefox/Data/profile/gm_scripts/huhu/huhu.user.js
Line: 8

Я знаю, что я должен обновить этот старый браузер. Но это не возможно. Я должен работать с этим!

Я хочу загрузить код jQuery на локальный ПК без подключения к интернету. Я скопировал jquery.min.js в ту же папку, где находится скрипт пользователя.

G:/Firefox/Data/profile/gm_scripts/huhu/jquery.min.js

Есть идеи, где проблема?

С уважением, Бернте

1 ответ

Решение

Существует два способа установки скрипта Greasemonkey с локального диска, так что jQuery будет работать.
Но, во-первых, вот...

Предварительные условия, общие для обоих методов:

  1. Старые версии Greasemonkey (и Firefox) легко запутались. Поэтому используйте диспетчер скриптов Greasemonkey для удаления любых старых версий скрипта.

  2. Перейти к gm_scripts папку, в вашей папке профиля, и физически удалите папку для вашего скрипта, если он присутствует.

  3. Убедитесь, что исходный код вашего скрипта находится в файле с user.js расширение. НАПРИМЕР: Hello World.user.js

  4. Убедитесь, что исходный код вашего скрипта находится в папке, которой нет в системе TMP или же temp папка Например, поместите исходный файл в C:\My GM scripts\,

  5. Аналогично, это не и не использовать ни одну папку в дереве папки профиля Firefox.

  6. Если вы сомневаетесь, или если вещи кажутся "облупленными", перезапустите Firefox.


Способ 1, компьютер имеет доступ к интернету:

  1. Просто укажите @require на копию Google правильной версии JQuery. Для GM 0.8 это должно быть не позже, чем jQuery 1.3.2.

    // ==UserScript==
    // @name     Hiya Ma
    // @include  http://stackru.com/*
    // @require  http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
    // ==/UserScript==
    
    $("body").prepend ('<div>Hello world!</div>');
    


  2. Используйте Firefox, меню " Открыть файл" (Ctrl O), чтобы открыть исходный файл. (НАПРИМЕР: C:\My GM scripts\Hello World.user.js)

    Или же:
    Перетащите исходный файл на любую открытую вкладку Firefox.

  3. Greasemonkey предложит установить скрипт. Следуйте инструкциям.


Способ 2, компьютер не может получить доступ к Интернету:

  1. Загрузите соответствующую версию jQuery (в данном случае 1.3.2) и сохраните ее как jquery.min.js в той же папке, что и источник скрипта (C:\My GM scripts\ в этом примере).

  2. Не используйте какой-либо путь в @require директива:

    // ==UserScript==
    // @name     Hiya Ma
    // @include  http://stackru.com/*
    // @require  jquery.min.js
    // ==/UserScript==
    
    $("body").prepend ('<div>Hello world!</div>');
    


  3. Установите сценарий, как в шагах 2 и 3 метода 1. Вам не нужно открывать или перетаскивать файл jQuery.


Также обратите внимание:

  1. G:/Firefox/Data/profile/gm_scripts/huhu/jquery.min.js выглядеть как каталог профиля Firefox. Вы не размещаете здесь никаких файлов. Greasemonkey будет копировать и переименовывать файлы по мере необходимости.

  2. @grant не поддерживается до Greasemonkey версии 1.0. Не используйте это здесь.

  3. $(document).ready() не требуется здесь, ни в большинстве сценариев GM. Greasemonkey срабатывает в правильное время по умолчанию.

  4. Эти методы были проверены на соответствие Firefox 2.0.0.20 и Greasemonkey 0.8.20100408.6, но они в значительной степени применимы ко всем версиям FF+GM до GM 1.0.


Что делать, если вы получили ошибку `NS_ERROR_FILE_ACCESS_DENIED`:

Эта ошибка не была редкостью со старыми версиями Greasemonkey. Две наиболее частые причины были плохими temp ведение домашнего файла (от FF/GM) и повреждение профиля Firefox.

Выполните следующие действия, чтобы исправить это в большинстве случаев:

  1. Повторите предварительные условия, перечисленные выше.

  2. Очистите системную временную папку от всего, что напоминает исходный файл скрипта, или любой другой @require д файлы, или любой @resource д файлы.

    В этом примере ищите hiya_ma.user.js а также jquerymin.js, особенно.

    В Windows временные папки имеют адрес (а): %TMP% а также %TEMP%,

  3. в gm_scripts папку, убедитесь, что config.xml не имеет ссылок на удаленные или отсутствующие скрипты. Если нет (других) скриптов, удалите config.xml,

  4. Если ничего не помогает, используйте менеджер профилей Firefox, чтобы создать новый профиль и переустановить там свои скрипты.

Другие вопросы по тегам