Firefox扩展程序不使用http:// https://以外的URL

时间:2015-02-25 13:00:23

标签: javascript firefox firefox-addon xpi

我在双击它时安装了两个Firefox扩展来翻译单词:Google TranslatorWictionary and Google Translate

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

我尝试比较他们的源代码并多次搜索以在Google Translator中查找和编辑此功能,但无法执行任何操作。

帮助任何人? 感谢

Google Translator的某个目录

  • 资源:
    • igtranslator:
      • LIB:
        • firefox.js
        • common.js
        • config.js
      • 数据:
        • (很多png,html,css)
        • inject.js
        • options.js
        • popup.js
  • bootstrap.js

1 个答案:

答案 0 :(得分: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://*"],

将为本地文件提供技巧。