【问题标题】:Do Mozilla apps have access to the process manager?Mozilla 应用程序是否可以访问进程管理器?
【发布时间】:2017-06-28 13:39:04
【问题描述】:

真的,我有 3 个问题,但它们都很简单(一次):

  1. Firefox 中的插件能否查看是否有多个 Firefox 实例/Firefox 进程正在运行?

  2. 由于运行多个 Firefox 实例的唯一方法(至少在 Windows 中)是让它们在不同的配置文件下运行,因此插件是否可以确定其他实例正在运行哪些配置文件下?

  3. 插件能否与其他进程交互?具体来说,它是否可以关闭其他进程或告诉它打开一个新窗口,其中包含在加载项进程中指定的 URL?

【问题讨论】:

    标签: firefox firefox-addon xul process-monitoring


    【解决方案1】:
    1. 间接:Firefox 不允许在同一个配置文件上运行多个实例。由于您的插件是配置文件的一部分,因此“您的”Firefox(运行插件的那个)是独一无二的。

    2. 可能不会。个人资料信息与安全相关,Firefox 不会轻易将其分发出去。这就是使用随机前缀创建配置文件名称的原因之一。

    3. Firefox 监听远程命令(这是新进程告诉现有 FF 打开新 URL 的方式),因此可以打开更多窗口。不知道有没有远程命令终止FF。

    注意:如果您开始关闭其他窗口并通过加载广告来惹恼人们,他们会讨厌您。禁用和卸载不需要的插件只需几秒钟。如果你试图阻止用户卸载你的插件,他们会非常讨厌你。可能涉及干草叉或焦油和羽毛。 ;)

    【讨论】:

    • 哈!我担心#3 可能听起来像是我在试图唠叨。事实上,一点也不。我想要的是一个扩展隐私模式的附加组件,以便某些页面始终在“隐私配置文件”过程中加载。但我不想每次都打开一个新的进程实例。
    • 好主意。但我认为这超出了这里的人们可以回答的范围。您应该加入 FF 开发人员列表并在那里重复您的问题。我认为您的插件是一个非常酷的补充,但您可能需要对 FF 代码进行一些更改才能使其正常工作。
    • 哇,谢谢!我肯定会给他们一个大喊大叫。想到任何事情都超出了 SO 的范围,这很可悲。
    • 一页文本可以实现的目标就这么多。 :)
    【解决方案2】:

    附加组件(或“Mozilla 应用程序”)可以做任何事情,因为它可以包含二进制组件。如果您要求从 JS 中使用现有的 API,我认为现在没有。

    如果您愿意在所有配置文件中安装插件,则实例 #1 中的插件可以使用任何 IPC 机制与实例 #2 中的插件通信,例如套接字(可从仅限 JS 的插件)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 2017-01-17
      • 2014-11-01
      • 2019-05-02
      • 2020-08-22
      • 1970-01-01
      • 2018-05-28
      相关资源
      最近更新 更多