Ich nutze ein umgebautes Skript für Firefox, um die Erweiterungen zu verwalten. Damit können u.a. die Einstellungsseiten der Erweiterungen in einem neuen Tab geöffnet werden, ohne dass man den Umweg über den Addons-Manager machen muss.
Mit dem Code
var optionsURL = addon.optionsURL || '';
"switchToTabHavingURI" in window ? switchToTabHavingURI(optionsURL, true) : openTab("contentTab", { contentPage: optionsURL });
findet das Skript die URL für die Einstellungsseite der jeweiligen Erweiterung, allerdings nur, wenn diese URL in der manifest.json definiert ist. In den Firefox-Erweiterungen ist das anscheinend ausnahmslos der Fall. In Thunderbird gibt es aber eine ganze Reihe Erweiterungen, bei denen das stattdessen in der background.js passiert. Diese URLs werden mit addon.optionsURL nicht gefunden. Das Skript zeigt diese Erweiterungen an wie solche, die keine Einstellungsseite haben.
Eine dieser Erweiterungen ist Allow HTML Temp von Thunder.
Wenn ich in der Konsole die URL für diese Erweiterung direkt in den obigen Code eingebe, wird tatsächlich die Einstellungsseite in einem neuen Tab geöffnet.
"switchToTabHavingURI" in window ? switchToTabHavingURI("chrome://allowhtmltemp/content/options/aht_options.xhtml", true) : openTab("contentTab", { contentPage: "chrome://allowhtmltemp/content/options/aht_options.xhtml" });
Meine Frage ist nun, wie das Skript diese URLs finden kann. Weiß jemand Rat, vielleicht auch Thunder?
Hier das ganze Skript ExtensionOptionsMenu+TB.uc.js