2015-02-11 66 views
2

比方說,我想同時在三個應用程序中使用單個疊加層。我應該指定清單文件中的哪一行適用於哪個應用程序?這裏是什麼,我現在有一個例子:使用相同的XUL覆蓋圖時,我應該指定應用程序嗎?

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} 

是否安全,省略應用程序標記,或者是要爲明確的在我的例子中,最好的做法?

+0

我推薦firefox-addon標籤,這是人們通常使用的標籤。 – Noitidart 2015-02-12 01:38:55

+0

如果您不指定應用程序標誌,它將不起作用。你應用標誌是什麼意思?這就是我的install.rdf的樣子:https://github.com/Noitidart/MouseControl/blob/master/chrome.manifest – Noitidart 2015-02-12 01:39:37

+0

@Noitidart:謝謝你的建議!應用程序標誌是這樣的字符串:'application = {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}'。當您在示例中向右滾動時,您可以看到它們。它可以在沒有它們的情況下工作,可能是因爲我的覆蓋層對於所有瀏覽器都是一樣的,我將它應用於'browser.xul'和'navigator.xul',每個瀏覽器只出現在一個瀏覽器中。我不確定它是否有效,因爲它是按照這種方式設計的,還是它在內部引發錯誤。 – JohnEye 2015-02-12 20:28:02

回答

4

這取決於你的加載項實際上是通過em:targetApplication支持的。

通常不需要application=,因爲沒有歧義。

唯一的情況是我可以想象它實際上會有意義的地方,如果你的插件支持兩個不同的應用程序,一個chrome://browser/content/browser.xul但你只想覆蓋Firefox而不是其他應用程序。在那裏你需要明確。

+1

我仍然不確定是否省略應用程序標誌是一個乾淨的解決方案,你認爲你可以澄清?當然,它有效,但由於我要將我的更改貢獻給某人的GitHub存儲庫,所以質量是必須的。 – JohnEye 2015-02-14 23:45:02

+1

這是一個味道和清晰的問題。所以最終這是一個意見問題。在我看來,已經開發了大量的附加組件,並且審閱了數以千計的AMO提交內容,這裏絕對沒有必要明確說明,並且明確性也使得清單更不可讀。我在這個KISS上。 – nmaier 2015-02-15 00:21:12

+0

Whats KISS ... O_O – Noitidart 2015-02-15 09:31:55

相關問題