0

2 つの Firefox 拡張機能をインストールして、単語をダブルクリックしたときに単語を翻訳します: Google TranslatorWictionary と Google Translateです。

どちらも単語をダブルクリックするだけで単語を翻訳できます。しかし違いは、Wictionary と Google 翻訳は、ダブルクリックした場所ならどこでも機能するということです。ローカル ファイル (file:///...) 、Firefox 内で (about:epubreader?id=5) などの URL を使用して EPUB ファイルを開く EPUBReader 拡張機能で動作します。 Wictionary と Google 翻訳を使用できるのと同じ方法ですが、 http:// https:// 以外の URL では機能しません。

ソース コードを比較し、Google 翻訳でこの機能を見つけて編集するために何度か検索しましたが、何もできませんでした。

誰か助けて?? ありがとう

Google 翻訳者のディレクトリ

  • 資力:
    • igtranslator:
      • ライブラリ:
        • firefox.js
        • common.js
        • config.js
      • データ:
        • (多くの png、html、css)
        • inject.js
        • options.js
        • popup.js
  • ブートストラップ.js
4

1 に答える 1

0

以下は、URL プロトコルのリッスンを担当する firefox.js のコード スニペットです。

var workers = [], content_script_arr = [];
    pageMod.PageMod({ /* page */
      include: ["*"],
      contentScriptFile: [data.url("content_script/inject.js")],
      contentScriptWhen: "start",
      contentStyleFile : data.url("content_script/inject.css"),
      onAttach: function(worker) {
        array.add(workers, worker);
        worker.on('pageshow', function() { array.add(workers, this); });
        worker.on('pagehide', function() { array.remove(workers, this); });
        worker.on('detach', function() { array.remove(workers, this); });
        content_script_arr.forEach(function (arr) {
          worker.port.on(arr[0], arr[1]);
        });
      }
    });

include:行を次のように変更します

 include: ["*","file://*"],

ローカルファイルのトリックを行います。

于 2015-02-25T14:31:46.167 に答える