Ja, jQuery hat dafür eine fertige Methode, Vanilla-JS hat so etwas nicht, deswegen musste ich das selbst implementieren. Die Schwierigkeit mit den Array-Feldern hätte ich bei jQuery aber genauso, jQuery hätte mir nur den einfachen Teil abgenommen. Die Idee ist aber die Gleiche und de facto hat mich die Tatsache, dass jQuery so eine Methode hat, auf die Idee gebracht, dass ich das so lösen kann.
WebExtension.Fragen()
-
EffPeh -
14. Mai 2018 um 18:48 -
Erledigt
-
-
Hm. Das ist merkwürdig. Denn die manifest.json habe ich gar nicht angerührt. :-??
Und ich selbst habe mir zur Kontrolle auch die Github-ZIP heruntergeladen und temporär in about:debugging installiert.
Wird da angegeben, was nicht gültig sein soll?
Nein, aber, es scheint, jetzt, wo ich mir das ansehe, dass du die falsche Ebene gepackt hast. Ich vergebe beim Herunterladen einen eigenen Namen und beim Entpacken habe ich gesehen, dass die Dateien in einem Unterordner Tabs2List-master sind. Der Ordner, der beim Entpacken angelegt wurde, darf keinen Unterordner enthalten. Die Dateien bzw. Ordner der Erweiterung sind nun im Unterordner. In dem Moment sucht Firefox auf der Ebene des Unterordners und da ist natürlich überhaupt nichts drin. -
Ja, das war's.
-
Eigentlich benutzt man ja das Kommandozeilen-Tool web-ext zum Packen einer WebExtension, dann muss man sich auch keine Gedanken beim Packen machen. Hat außerdem den Vorteil, dass web-ext unerwünschte Dateien wie z.B. eine .gitignore-Datei automatisch ignoriert, so dass das nicht versehentlich in der Erweiterung landet.
Das web-ext-Werkzeug benötigt man ja eh, wenn man nicht für jede Änderung von Hand die Erweiterung neu laden möchte. Das wäre ja eine Zumutung bei der Entwicklung.
-
[...]
[...]
Hm, also der Punkt ist: Ich habe da gar nichts gepackt. Das wird doch von Github gepackt, wenn man einen Download anfordert. Ich habe also gar keinen Einfluss darauf, wie die Datei gepackt ist. Die bei mir übrigens auch dieses Unterverzeichnis besitzt. Warum das so ist, kann ich nicht sagen. Meine Extension-Files und -Ordner liegen direkt im Repo-Ordner. Also nicht nochmal in einem Unterverzeichnis... -
Musst du bei Github nicht die Ebene angeben, die gepackt werden soll?
-
Nö. Es hat mich jedenfalls keiner danach gefragt. Ich denke, das wird automatisch gepackt, sobald man eben die Geschichte als ZIP downloaden will.
-
Kann ich mir nicht vorstellen. Du musst doch sicherlich Github mitteilen, welche Dateien und Ordner gepackt werden sollen. Vorher hatte es doch auch geklappt. Was war jezt anders?
-
Nee, ist so. Ich habe bei Github in den Einstellungen nichts geändert. Lediglich den "Repository name" habe ich geändert. Aber ansonsten habe ich da nichts umgestellt. Ich stelle doch nichts um, was ich nicht verstehe.
Und da gibt es auch gar keine Optionen, die irgendetwas mit dem Download zu tun haben. Jedenfalls nicht, das ich wüsste. -
Wie gehst du denn da vor? Ich habe ebenfalls ein Konto bei Github.
-
Achso, ich dachte, du hättest eine installierbare Version deine Erweiterung gepackt. Musst du dann ja spätestens für eine AMO-Veröffentlichung machen.
Ja, GitHub bietet ganz automatisch einen ZIP-Download des Repositories an, das beinhaltet alles direkt von der 1. Ebene an, da muss man GitHub nichts für mitteilen.
-
Ja, GitHub bietet ganz automatisch einen ZIP-Download des Repositories an, das beinhaltet alles direkt von der 1. Ebene an, da muss man GitHub nichts für mitteilen.
Über Clone or download --> Download ZIP? Aber von da erhalte ich die falsch gepackte Datei. -
Wie gehst du denn da vor? Ich habe ebenfalls ein Konto bei Github.
Was genau meinst du denn? Wie ich meine Dateien zu Github transferiere?
Das mache ich mit Sourcetree. So wie weiter oben von Sören beschrieben. Commiten und pushen.
Und sonst mache ich gar nichts. Also ich packe da keine ZIPs oder sonstwas.
Achso, ich dachte, du hättest eine installierbare Version deine Erweiterung gepackt. Musst du dann ja spätestens für eine AMO-Veröffentlichung machen.
Nö. Das würde ich ganz normal mit WinRAR machen. Das geht doch oder muss das irgendwie speziell gepackt sein? -
milupo: Weil GitHub über diesen Button vollkommen automatisch einen Download des gesamten Repositories erstellt und sich der Inhalt in einem Ordner mit dem Namen des Repositories befindet. Darauf hat man keinen Einfluss. Das Archiv ist also nicht geeignet, um in Firefox installiert zu werden.
EffPeh: es gibt noch Menschen, die WinRAR nutzen? Ich dachte, auf Windows wäre vor Jahren schon jeder auf 7-Zip umgestiegen.
Speziell gepackt muss nichts sein, aber wenn du in deinem Repository mehr als nur die Erweiterungs-Dateien hast (.gitignore oder Linting-Dateien), ist web-ext zum Packen praktisch, weil es die Dateien automatisch ignoriert.
Nutzt du web-ext denn noch gar nicht? Wenn du an deiner Erweiterung was änderst, musst du die Erweiterung dementsprechend immer von Hand neu laden, um die Erweiterung zu testen?
-
Was genau meinst du denn? Wie ich meine Dateien zu Github transferiere?
Nein, wie du das Packen veranlasst. Aber wenn du wirklich nur über Clone or download --> Download ZIP gehst, bleibt mir das rätselhaft, warum einmal richtig gepackt wird und ein andermal falsch. -
milupo: Weil GitHub über diesen Button vollkommen automatisch einen Download des gesamten Repositories erstellt und sich der Inhalt in einem Ordner mit dem Namen des Repositories befindet. Darauf hat man keinen Einfluss. Das Archiv ist also nicht geeignet, um in Firefox installiert zu werden.
Darum geht es ja auch nicht. Sondern um diesen zusätzlichen Unterordner, der nicht sein darf. Ich benenne einfach die zip-Datei in .xpi um und kann installieren, sofern kein Fehler in der Struktur ist. Den gibt es aber. -
Sicher ging es darum, ich hab doch genau von diesem Ordner geschrieben. Wie gesagt, auf den Inhalt des automatischen Github-Downloads hat man keinen Einfluss. Bei Nutzung der Github-Funktion hat man immer einen Ordner auf 1. Ebene. Damit kann Firefox nichts anfangen. Das lässt sich nicht ändern.
-
Es scheint daran zu liegen, dass ich den Namen der ZIP-Datei beim Download ändere. Das habe ich gemacht, um alte Versionen der Datei nicht zu überschreiben.
-
EffPeh: es gibt noch Menschen, die WinRAR nutzen? Ich dachte, auf Windows wäre vor Jahren schon jeder auf 7-Zip umgestiegen.Speziell gepackt muss nichts sein, aber wenn du in deinem Repository mehr als nur die Erweiterungs-Dateien hast (.gitignore oder Linting-Dateien), ist web-ext zum Packen praktisch, weil es die Dateien automatisch ignoriert.
Nutzt du web-ext denn noch gar nicht? Wenn du an deiner Erweiterung was änderst, musst du die Erweiterung dementsprechend immer von Hand neu laden, um die Erweiterung zu testen?
Ich sag' doch, ich bin oldskool.
Davon abgesehen kann ich aber auch mit 7-Zip dienen.Irgendwo habe ich mal irgendetwas über web-ext gelesen. Ich denke, auf den Seiten, wo es um das Veröffentlichen der Extensions geht. Aber wenn ich mich recht entsinne, war das auch irgendein Konsolending, oder?...
Und ja, ich lade die Extension temporär in about:debugging und klicke dann da immer auf "Neu laden".milupo
Wie gesagt, ich mache da bei Github eigentlich gar nichts. Ich bin da nur noch drin, um zu kontrollieren. Alles andere macht ja dieses Sourcetree sehr bequem. -
Ich bitte euch um Verzeihung für den Lärm um nichts.
-