使用相同的 XUL 覆盖时我应该指定应用程序吗?

Should I specify the application when using the same XUL overlay?

假设我想同时在三个应用程序中使用一个叠加层。我应该指定清单文件中的哪一行适用于哪个应用程序吗?这是我目前拥有的示例:

overlay chrome://browser/content/browser.xul chrome://myaddon/content/commonOverlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
overlay chrome://messenger/content/mailWindowOverlay.xul chrome://myaddon/content/commonOverlay.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6}
overlay chrome://navigator/content/navigator.xul chrome://myaddon/content/commonOverlay.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}

省略应用程序标志是否安全,或者最好的做法是像我的示例中那样明确吗?

这取决于您的附加组件通过 em:targetApplication 实际支持的内容。

通常不需要application=,因为没有歧义。

我能想象的唯一一种实际有意义的情况是,如果您的附加组件支持两个不同的应用程序,它们都具有例如a chrome://browser/content/browser.xul 但您只想覆盖 Firefox 而不是其他应用程序。在那里你需要明确。