WebExtension.Fragen()

  • Vielleicht eine bissel blöde Frage, aber wo bringe ich denn den Beschreibungstext für eine Extension unter?
    Also ich meine nicht die Kurzbeschreibung in der manifest, sondern den Text, den man in der Add-Ons-Verwaltung bzw. bei AMO lesen kann. Wird der erst bei der Veröffentlichung hinterlegt? Und wie ist das mit verschiedenen Sprachen?... :-??

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Hast du dir schon einen Account auf AMO angelegt? Sobald du dein Add-on einreichst kannst du Beschreibung, Titel etc. für jede Sprache einzeln definieren.


    PS: Bin mir nicht mehr sicher, meinte aber du könntest den Eintrag auch schon erstellen ohne die Erweiterung veröffentlichen zu müssen.

  • Hi Miku, :)


    danke dir für die Antwort. :)
    Und ja, Account besteht bereits. Na, ich werde mich dann einfach mal überraschen lassen. Wenn es denn mal so weit ist. :P
    Mir ging es eben um die Formatierung eines solchen Textes und die Frage nach dem Wie und Wo hat sich gestellt.

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)


  • Ich danke dir, Miku... :)
    Die Seite verdeutlicht den Ablauf wirklich gut und macht klar, wo man den Beschreibungstext einarbeiten kann.
    Dummerweise wird das auf der (angeblich) deutschen Übersetzungsseite, die ich gefunden habe, gar nicht angesprochen bzw. verlinkt. Noch dazu ist der Inhalt gut 2 Jahre älter.
    Ich bin natürlich davon ausgegangen, dass die Inhalte der deutschen Seite mit der englischen Seite übereinstimmt. Leider nicht. Man muss erst die Sprache umstellen und erst dann findet man einen Link zu der von dir hier verlinkten Seite. Blöd das... :P

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • So, hier mal wieder der aktuelle Stand meiner Extension.
    Soweit bin ich eigentlich fertig und es fehlt jetzt nur noch Text und die englische Übersetzung, aber vor einer halben Stunde habe ich noch einen Fehler festgestellt, den ich mir nicht erklären kann. Und zwar liste ich unter dem Tab "Chronik" die kürzlich geschlossenen Tabs. Die kann man auch einzeln oder alle löschen. Funktioniert, alles gut.
    Aber wenn ich nun ein weiteres Fenster öffne - was ich praktisch nie mache - und dieses dann wieder schliesse, sind alle kürzlich geschlossenen Tabs in der Liste verschwunden. Natürlich nur scheinbar, denn im Browser sehe ich ja, das sie noch abrufbar sind. Auch Tabs, die ich nach dem Schliessen des zweiten Fensters schliesse, werden einfach nicht mehr gelistet. Selbst dann nicht, wenn ich die Extension neu lade. Irgendwie blicke ich da nicht durch, zumal mir auch keine Fehler angezeigt werden. :-??
    Weiss jemand von euch Rat?


    Ansonsten wäre Feedback - in welcher Form auch immer - zu der Extension nett. ;)


    [attachment=0]extension.zip[/attachment]

    Dateien

    • extension.zip

      (34,61 kB, 16 Mal heruntergeladen, zuletzt: )

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Aber wenn ich nun ein weiteres Fenster öffne - was ich praktisch nie mache - und dieses dann wieder schliesse, sind alle kürzlich geschlossenen Tabs in der Liste verschwunden.


    Klingt ja ähnlich wie das Problem, welches ich schon ganz am Anfang berichtete:


    > Ein weiteres Problem, welches mir aufgefallen ist: Unter "Kürzlich geschlossene Tabs" sind erwartungsgemäß die kürzlich geschlossenen Tabs zu finden. Schließe ich aber einen Tab und drücke dann Cmd + Shift + T, um den Tab wiederherzustellen, ist die Liste unter "Kürzlich geschlossene Tabs" plötzlich komplett leer.


    Also an der Stelle klemmt's. ;)

  • Genau. Das kann ich übrigens inzwischen auch bestätigen, da mir ebenfalls eingefallen ist, das du das erwähnt hattest.
    Wobei hierbei die kürzlich geschlossenen Tabs wieder angezeigt werden, sobald ich ein weiteres Tab schliesse.
    Ich weiss allerdings echt nicht, wo ich ansetzen soll, denn eine Fehlermeldung gibt es nicht.
    Ich habe mir jetzt nochmal sessions bzw. die relevante Funktion sessions.getRecentlyClosed() angeschaut, aber da gibt es ja keine grossen Optionen. Ich kann nur unterscheiden zwischen Tabs und Fenster. Also ich kann da z.B. jetzt nicht abfragen, dass ich die kürzlich geschlossenen Tabs eines bestimmten Fensters anzeigen lassen will. Lediglich die Anzahl der kürzlich geschlossenen Tabs.
    Wie soll man in so einem Fall nur den Fehler finden?... :-??

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)


  • ...Ansonsten wäre Feedback - in welcher Form auch immer - zu der Extension nett. ;)


    Hi EffPeh,


    wie schon vor kurzem erwähnt, freue ich mich auf Deine Extension.
    Da ich mit Sidebars eigentlich nie arbeite, hier meine Vorschläge/Verbesserungswünsche:
    1. Wenn man in der PopUp-Liste auf einen Eintrag klickt, sollte der Tab aktiviert UND die PopUp-Liste danach auch geschlossen werden.
    2. Das Tabs2List-Icon ist beim dunklen Firefox-Thema nicht gut erkennbar. Evtl. wäre hier eine Farbauswahl angebracht.
    3. Wenn man die Schriftgröße ändert, ist diese Einstellung nach erneutem Anzeigen der PopUp-Liste bei mir wieder zurückgestellt worden.


    Viel Erfolg noch,
    Migo


  • [...]


    Ich danke dir für dein Feedback, Migo. :)
    zu 1. - Hattest du bereits erwähnt und tatsächlich habe ich eine Lösung dafür gefunden. (Ganz banal: window.close() )
    Aber aus irgendwelchen Gründen hatte ich es auskommentiert. (Wahrscheinlich hat es mich bei irgendeinem Test gestört. :P )
    Ich habe es aber jetzt wieder aktiviert. Demnächst wird sich das Popup also bei einem Klick auf einen Listen-Eintrag schliessen.


    zu 2. - Gut, das du es ansprichst. Das habe ich mir nämlich in der Tat auch noch nicht so genau angeschaut. An was man aber auch alles denken muss... :P


    zu 3. - Ja, das ist momentan auch noch etwas experimentell. Ich bin auch nicht wirklich überzeugt davon und frage mich, ob das überhaupt nötig ist. Ich bin am Überlegen, ob es nicht sinnvoller ist, einfach eine entsprechende Auswahl in den Optionen zu schaffen.
    Was denkt ihr?


    Das (Cmd + Shift + T)-Problem konnte ich übrigens beseitigen. Denke ich. Hoffe ich. :)
    Das hat aber mein Problem mit dem zweiten Fenster leider nicht gelöst. Da stehe ich immer noch auf dem Schlauch... :roll:

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)


  • [...]


    Ja, ich habe das jetzt auch so umgesetzt, denn ich hätte eh die eingestellte Schriftgrösse irgendwie speichern müssen. Ansonsten hätte die Grösse nach jedem Browser-Start neu eingestellt werden müssen. Was auch irgendwie blöd wäre.


    Ich weiss jetzt auch, warum ich das Schliessen des Popups nochmal ausgelassen habe. Ich bekomme zwar keine Fehlermeldung in der Konsole, aber eine Warnung:

    Zitat


    Skripte können keine Fenster schließen, die nicht von ihnen geöffnet wurden.


    Das bekommt ein Benutzer zwar in der Regel nicht mit, aber mir persönlich geht das gegen den Strich.
    Warum die Warnung kommt, ist schon klar. Das Script ist ja als Popup und in der Sidebar tätig. Wenn also die Anweisung window.close() verarbeitet werden soll, beschwert sich das jeweils andere natürlich darüber und spuckt die Warnung aus. Ich muss also einen Weg finden, wie ich ein Fenster eindeutig ansprechen kann, bevor ich es schliesse...

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Jaaaaaa ! ! ! . . . :D
    Endlich habe ich diesen bekloppten Fehler mit dem Fenster gefunden.
    Nachdem ich nochmal und nochmal gelesen und wieder in meinem Code gerührt habe, hat er mir beim Schliessen eines zweiten Fensters eine Fehlermeldung ausgespuckt. Da war dann plötzlich ein Rückgabewert aus browser.sessions.getRecentlyClosed anscheinend undefined. Warum auch immer. Ergründen konnte ich das nämlich leider nicht, denn mit console.log() bekam ich immer nur ein invisibleToDebugger-Blabla. Also nicht sehr aufschlussreich. Aber egal - nach ein paar Abfragen funktioniert es nun, wie es soll. Hoffe ich. Wer weiss, was noch so kommen kann... :P


    Das Schliessen des Popup nach Klicken eines Listeneintrags ist nun auch aktiv.
    Ich habe nichts gefunden wegen der Warnhinweise, die da immer geloggt werden. Aber bei meinen Experimenten habe ich festgestellt, dass der Inhalt eines Popups im Gegensatz zum Inhalt der Sidebar immer komplett neugeladen wird.
    Deshalb habe ich mir ein Workaround erstellt:

    Code
    1. var clicks = -1;
    2. function closePopup() {
    3. clicks++;
    4. if( clicks < 1 ) {
    5. window.close();
    6. }
    7. }


    Somit wird der Warnhinweis nur ein einziges Mal geloggt und danach ist Ruhe (hoffe ich :P ), weil der Zähler bei jedem Klick in der Sidebar erhöht wird.
    Hier das heutige Update:
    [attachment=0]extension.zip[/attachment]

    Dateien

    • extension.zip

      (40,66 kB, 19 Mal heruntergeladen, zuletzt: )

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Huhu EffPeh,


    Klasse!! Ich finde (für mich) nun fast alles rund!! Evtl. noch ein "Suche"-Feld mit einbauen und ab ins AMO damit....


    Tolle Arbeit.


    VG und tolles WE noch,
    Migo


  • Klasse!! Ich finde (für mich) nun fast alles rund!! Evtl. noch ein "Suche"-Feld mit einbauen und ab ins AMO damit....


    Danke. :)
    Eine Suchfunktion habe ich heute morgen um vier noch eingebaut. :wink:
    Ich stelle die Extension gleich nochmal ein. Vorher noch einen Kaffee. :P
    Bevor ich es ins AMO hochlade, muss ich erst noch ein wenig texten, aufräumen und eine englische Übersetzung anlegen.
    Dauert also schon noch etwas... :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Kein Problem, aber eine Frage der Optimierung habe ich noch.
    Und zwar sortiere ich die eingelesenen Tabs mit Hilfe dieses Codes:

    Zitat


    tabs.sort( function( a , b ) { return (a.discarded > b.discarded) ? 1 : ( (b.discarded > a.discarded) ? -1 : 0 ); } );
    tabs.sort( function( a , b ) { return (a.hidden > b.hidden) ? 1 : ( (b.hidden > a.hidden) ? -1 : 0 ); } );
    tabs.sort( function( a , b ) { return (a.pinned < b.pinned) ? 1 : ( (b.pinned < a.pinned) ? -1 : 0 ); } );
    // Anmerkung: .discarded/.hidden/.pinned beinhaltet immer einen booleschen Wert, also true oder false


    Meine Frage ist jetzt: Lässt sich das optimieren bzw. effektiver zusammenfassen? :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)


  • [...]


    Sag' mal, Sören, kann es sein, dass commands von temporär geladene Extensions nicht ausgeführt werden? :)
    Ich habe dazu folgendes bei mir in der manifest stehen:

    Code
    1. "commands": {
    2. "_execute_sidebar_action": {
    3. "suggested_key": {
    4. "default": "Ctrl+Shift+D",
    5. "mac": "Command+Shift+D",
    6. "linux": "F1"
    7. }
    8. }
    9. }


    Im Sidebar-Menü wird das Tastenkürzel auch entsprechend gelistet, aber es wird eben nicht ausgeführt.

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Ich habe das noch nie für "_execute_sidebar_action" getestet, aber bei "_execute_browser_action" funktioniert das auch bei temporär geladenen Erweiterungen.


    Was mir an deinem Beispiel aber auffällt: schmeiß die "mac"-Zeile raus. "Ctrl" ist auf macOS automatisch "Command". Man müsste "MacCtrl" verwenden, wenn man auf macOS wirklich "Ctrl" möchte. Deswegen ist diese Zeile obsolet.


  • Ich habe das noch nie für "_execute_sidebar_action" getestet, aber bei "_execute_browser_action" funktioniert das auch bei temporär geladenen Erweiterungen.


    Was mir an deinem Beispiel aber auffällt: schmeiß die "mac"-Zeile raus. "Ctrl" ist auf macOS automatisch "Command". Man müsste "MacCtrl" verwenden, wenn man auf macOS wirklich "Ctrl" möchte. Deswegen ist diese Zeile obsolet.


    Danke dir, Sören. :)
    Es funktioniert auch beides. Ich habe es jetzt nochmals mit anderen Key-Kombis probiert und jetzt geht es. :)
    Ist aber auch schwer, da noch eine Kombi zu finden, die nicht schon belegt ist.
    Mac und Linux habe ich jetzt beides herausgenommen, da ich eh nicht beurteilen kann, ob da die Kombi eben nicht auch schon belegt ist.

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)