Hier können Sie mehr darüber lesen.
SWIFT Selection Search (SSS) ist ein Firefox-Add-On für die schnelle Suche nach einem Text auf einer Seite mit Ihren bevorzugten Suchmaschinen.
Wählen Sie den Text auf einer Seite aus und ein kleines Popup -Feld mit Suchmaschinen wird über Ihrem Cursor angezeigt. Drücken Sie eine und Sie werden mit dieser Engine automatisch nach dem ausgewählten Text suchen!
SSS ist konfigurierbar. Sie können definieren, welche Suchmaschinen im Popup angezeigt werden, das Erscheinungsbild der Symbole, was passiert, wenn Sie auf sie klicken, wo das Popup angezeigt wird, unabhängig davon, ob es sich um die Seite der Seite handelt oder nicht, wenn Sie den Text bei der Auswahl automatisieren möchten, und viele weitere Optionen.
Sie erhalten außerdem ein optionales Kontextmenü für die Suche mit einem Ihrer Motoren. Sie können dieses zusätzliche Menü in den Optionen deaktivieren, wenn Sie möchten. Sie haben auch die Möglichkeit, das Popup selbst zu deaktivieren und nur dieses Kontextmenü zu lassen. Ihre Wahl. :)
SSS ist hier auf der Mozilla Add-On-Website erhältlich:
https://addons.mozilla.org/firefox/addon/swift-selection-search
Erstens müssen wir in der Lage sein, Typscript in JavaScript in JavaScript zu konvertieren, vorzugsweise so automatisch wie möglich.
Installieren Sie NPM . Laden Sie node.js von https://nodejs.org herunter und Sie erhalten npm daneben.
Führen Sie dies im Ordner des Projekts in der Befehlszeile aus:
NPM Installation
Dadurch werden die Typscript -Abhängigkeiten des Projekts lokal im Ordner node_modules installiert.
Um alle .ts Skripte in .js (unter Windows) umzuwandeln:
"NODE_MODULES/.BIN/TSC.CMD" -WATCH -P TSCONFIG.JSON
Der Befehl bleibt am Leben und übertransportieren nach Änderungen an .ts-Dateien automatisch, was bei der Entwicklung nützlich ist.
Jetzt haben Sie .js -Dateien, sodass Sie SSS als WebExtension verwenden können. Yay!
Für kurze Entwicklung oder nur Neugier ist die einfachere Möglichkeit, SSS zu probieren, die Seite: Debugging#Addons in Firefox. Drücken Sie die Schaltfläche "Temporäres Add-On", wählen Sie eine Datei in der Swift-Auswahl-Suche "src" -Verzeichnung (z. B. Manifest.json ) und lädt das Add-On, bis der Browser geschlossen ist. Änderungen am meisten Code erfordern das Wiederladen des Add-Ons erneut.
Für eine längere Entwicklung und/oder Verpackung, z. B. das automatische Nachladen nach jeder Änderung, folgen Sie den Anweisungen von Mozilla hier, um das Web-EXT -Tool zu installieren und zu verwenden.
Geben Sie das Repository auf Github und klonen Sie es auf Ihren Computer.
Befolgen Sie die obigen Anweisungen, um zu bauen .
Am Ende sollten Sie über ein Skript verfügen, das den Code automatisch von TypeScript in JavaScript transportiert und wissen, wie Sie Ihre Version von SSS auf Firefox ausführen.
Erfahren Sie, dass SSS 3 Hauptzweige hat:
Lesen Sie die folgenden Code -Richtlinien.
Suchen Sie sich ein Problem, das Sie in der Ausgabenliste lösen möchten.
Fragen Sie, ob jemand bereits daran arbeitet. Wenn Sie keine Details zur Implementierung fehlen oder mögliche Ansätze wissen möchten, können Sie sich gerne fragen!
Erstellen Sie eine neue GIT -Filiale für die neue Funktion oder Fehlerbehebung, die Sie implementieren möchten. Erstellen Sie diesen Zweig aus "entwickeln", um den Zusammenschluss später zu vereinfachen (da "Master" möglicherweise nicht alle aktuellen Änderungen haben).
Implementieren und verpflichten/weiterentwickeln/vorangetrieben/verschieben Sie die Änderungen in den Zweig, möglicherweise in mehreren Commits.
Erstellen Sie schließlich eine Pull -Anfrage, um Ihre Änderungen am ursprünglichen Repository zusammenzuführen. Es unterliegt der Code -Überprüfung, -diskussion und möglicherweise bei Bedarf möglicherweise.
Danke!
SSS wurde irgendwann von JavaScript zu Typscript portiert, um die Vorteile von Typ -Anmerkungen zu erhalten, da viele Fehler vom Typ Checker erfasst werden können. Es ist jedoch zu beachten, dass die Interaktion von Webextensionen mit TypeScript bestenfalls untergeordnet ist, da TypeScript davon ausgeht, dass Skripte Code/Daten aus anderen Skripten importieren können. In der Realität hat die Webextensionsumgebung Sandboxing und dies selten zulässt.
Inhaltskripte sehen keinen Code aus dem Hintergrundskript oder umgekehrt. TypeScript hat keine Ahnung, dass Webextensions so funktionieren. Nur weil etwas zu JavaScript korrekt ist, heißt das nicht, dass die Webextension funktionieren wird.
Ein Beispiel, das funktioniert, ist, dass wir Typen/Klassen im Hintergrundskript deklarieren und sie in anderen Skripten verweisen können, da sich nur der Typ Checker um sie kümmert. Wir erhalten Typen und es ist in Ordnung.
Wenn wir jedoch versuchen, diesen Klassen einige Methoden, Variablenzuordnungen usw. hinzuzufügen, werden diese Inhaltskripte oder Optionenseiten -Skripte nicht angezeigt. Beim Umzug in JavaScript werden sie als Verweis auf Code in einem anderen Skript zurückgelassen, auf das aufgrund von Webdoxing von Webextensionen nicht zur Laufzeit verwiesen werden kann. Dies gilt auch für Enums (die konkrete Werte haben, also "Daten"), es sei denn, wir deklarieren sie als const enum .
Wenn Sie also eine Klasse, die in mehr als einem Skript in diesem Projekt vollständig oder teilweise deklariert ist (z.
Eine andere Sache, die möglicherweise fehlschlägt, ist die Verwendung von instanceof , um zu überprüfen, ob ein Objekt einer bestimmten Klasse ist. Tun Sie dies nicht für benutzerdefinierte Klassen, da dies aufgrund des Sandboxens möglicherweise fehlschlägt.