3

私はFirefox 2.0.0.11Greasemonkey 0.8.x、および Greasemonkey 0.8 で動作する最新のjQuery バージョン (1.3.2)を使用しています。
このユーザースクリプトを読み込もうとします:

// ==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

この古いブラウザを更新する必要があることはわかっています。しかし、それは不可能です。私はそれで働かなければなりません!

インターネットに接続していないローカル PC に jQuery コードをロードしたいと考えています。ユーザースクリプトと同じフォルダーに jquery.min.js をコピーしました。

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

問題がどこにあるのでしょうか?

よろしく、ベルンテ

4

1 に答える 1

3

jQuery が機能するように、ローカル ドライブから Greasemonkey スクリプトをインストールするには 2 つの方法があります。
しかし、まず、ここに...

両方の方法に共通する前提条件:

  1. Greasemonkey (および Firefox) の古いバージョンは、簡単に混乱してしまいます。そのため、Greasemonkey のScript Managerを使用して、古いバージョンのスクリプトをアンインストールしてください。

  2. Profile Foldergm_scripts内のフォルダーに移動し、スクリプトのフォルダーが存在する場合は物理的に削除します。

  3. スクリプトのソースコードが拡張子付きのファイルにあることを確認してくださいuser.js。例えば:Hello World.user.js

  4. スクリプトのソースコードが、システムTMPまたはtempフォルダー以外のフォルダーにあることを確認してください。たとえば、ソース ファイルを に配置しますC:\My GM scripts\

  5. 同様に、これはFirefox プロファイル フォルダーツリーのフォルダーではなく、また使用しません。

  6. 疑わしい場合、または「不安定」に見える場合は、Firefox を再起動してください。


方法 1、コンピューターはインターネットにアクセスできます。

  1. @require正しい jQuery バージョンの Google のコピーを参照するだけです。GM 0.8 の場合、jQuery 1.3.2 以降である必要があります。

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


  2. Firefox の[ファイルを開く] メニュー ( CtrlO) を使用して、ソース ファイルを開きます。(例: C:\My GM scripts\Hello World.user.js)

    または:
    開いている Firefox タブにソース ファイルをドラッグ アンド ドロップします。

  3. Greasemonkey は、スクリプトのインストールを求めるプロンプトを表示します。プロンプトに従います。


方法 2、コンピューターが Web にアクセスできない:

  1. 適切な jQuery バージョン (この場合は 1.3.2) をダウンロードし、スクリプト ソース (この例では ) と同じフォルダーに としてjquery.min.js保存しますC:\My GM scripts\

  2. @requireディレクティブでパスを使用しないでください。

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


  3. 方法 1の手順 2 と 3 に従ってスクリプトをインストールします。jQuery ファイルを開いたりドラッグしたりする必要はありません。


また、注意:

  1. G:/Firefox/Data/profile/gm_scripts/huhu/jquery.min.jsFirefox のプロファイル ディレクトリのように見えます。ここにはファイルを配置しません。Greasemonkey は、必要に応じてファイルをコピーして名前を変更します。

  2. @grantGreasemonkey バージョン 1.0 まではサポートされていません。ここでは使用しないでください。

  3. $(document).ready()ここでも、ほとんどの GM スクリプトでも必要ありません。デフォルトでは、Greasemonkey は正しいタイミングで起動します。

  4. これらのメソッドは、Firefox 2.0.0.20 および Greasemonkey 0.8.20100408.6 に対して検証されましたが、GM 1.0 までの FF+GM のすべてのバージョンにほぼ適用されます。


`NS_ERROR_FILE_ACCESS_DENIED` エラーが発生した場合の対処方法:

このエラーは、古いバージョンの Greasemonkey では珍しくありませんでした。最も多い 2 つの原因は、不適切なtempファイル ハウスキーピング (FF/GM による) と Firefox プロファイルの破損でした。

ほとんどの場合、これを修正するには、次の手順を実行します。

  1. 上記の前提条件を繰り返します。

  2. @requireスクリプト ソース ファイル、任意のd ファイル、または任意の d ファイルに類似するすべてのシステム一時フォルダーをパージし@resourceます。

    この例では、特にhiya_ma.user.jsとを探します。jquerymin.js

    Windows では、一時フォルダーのアドレスは%TMP%%TEMP%です。

  3. gm_scriptsフォルダー内で、config.xml削除されたスクリプトまたは欠落しているスクリプトへの参照がないことを確認します。(他の) スクリプトがない場合は、削除しconfig.xmlます。

  4. 他のすべてが失敗した場合は、Firefox のプロファイル マネージャーを使用して新しいプロファイルを作成し、そこにスクリプトを再インストールします。

于 2012-09-09T09:40:07.947 に答える