0

当我双击它们时,我已经安装了两个 Firefox 扩展来翻译单词:Google TranslatorWictionary 和 Google Translate

两者都为您提供了通过双击单词来翻译单词的可能性。但不同的是,Wictionary 和谷歌翻译只适用于我双击的任何地方。它适用于本地文件 (file:///...) ,EPUBReader 扩展,它在 Firefox 中打开 EPUB 文件,其 URL 类似于 (about:epubreader?id=5) 等。因为我更喜欢谷歌翻译,所以我想使用它与我可以使用 Wictionary 和 Google 翻译的方式相同,但它不适用于 http:// https:// 以外的任何 URL。

我试图比较他们的源代码并搜索了几次以在谷歌翻译中找到并编辑此功能,但无能为力。

帮助任何人??谢谢

来自谷歌翻译的一些目录

  • 资源:
    • ig翻译:
      • 库:
        • 火狐.js
        • common.js
        • 配置.js
      • 数据:
        • (许多 png、html、css)
        • 注入.js
        • 选项.js
        • popup.js
  • 引导程序.js
4

1 回答 1

0

下面是 firefox.js 中负责监听 URL 协议的代码片段:

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 回答