Vimium: Befehl hinzugefügt, um den Firefox-Lesemodus zu aktivieren

Erstellt am 21. Aug. 2017  ·  9Kommentare  ·  Quelle: philc/vimium

Ich möchte in Firefox in den Lesemodus wechseln, der die Seite neu formatiert, damit sie möglicherweise flüssiger scrollt und leichter lesbar ist. In VimFX war dies gr , aber es muss natürlich nicht standardmäßig dieselbe Zuordnung haben. Eigentlich glaube ich nicht einmal unbedingt, dass es standardmäßig überhaupt zugeordnet werden müsste. Es wäre in Ordnung, es nur für die Zuordnung verfügbar zu haben.

Hilfreichster Kommentar

So lustig es auch ist, pessimistisch zu sein, Sie können den Breadcrumbs des WebExtensions-Fehlers im Catch-All-Reader-Modus folgen:

  • Es ist keine privilegierte URL und daher sollte tabs.create in der Lage sein, sie zu öffnen. Dem Fehler nach zu urteilen, wartet es auf den Abschluss dieser Sicherheitsüberprüfungsanfrage .

    • Das Leser-URL-Format ist "about:reader?url="+encodeURIComponent(url) , daher wäre es trivial, Vimium damit hinzuzufügen.

    • Es gibt Bedenken, dass der url -Parameter im Moment möglicherweise nicht korrekt bereinigt wird, was dies verzögert.

  • Inhaltsskripte sollten auch auf nicht piviledierten URLs ausgeführt werden können, also ist der Fehler auch dafür vielversprechend.

    • Auch dies wird bei der Sicherheitsüberprüfung blockiert (um zu überprüfen, ob Inhaltsskripts auf about:reader die Sandbox nicht beschädigen).

  • Eine API zur Überprüfung, ob der Lesemodus eine Seite unterstützt oder nicht, hat eine grundlegende Genehmigung erhalten .
  • Eine API dafür, ob Tabs im Lesemodus sind oder nicht , wurde vorgeschlagen .

    • Dies ist nicht weiter fortgeschritten, da derzeit die Suche nach about:reader am Anfang der URL des Tabs ausreichen sollte.

Bearbeiten: Der erste Aufzählungspunkt ist alles, was wir brauchen, um einen Befehl zum Eingeben/Verlassen des Lesemodus implementieren zu können.

Alle 9 Kommentare

Ich wäre überrascht, wenn es für eine WebExtension möglich ist (oder jemals sein wird).

Weil es Firefox-spezifisch ist?

Nein, weil es so eine spezielle Sache ist, eine API hinzuzufügen.

So lustig es auch ist, pessimistisch zu sein, Sie können den Breadcrumbs des WebExtensions-Fehlers im Catch-All-Reader-Modus folgen:

  • Es ist keine privilegierte URL und daher sollte tabs.create in der Lage sein, sie zu öffnen. Dem Fehler nach zu urteilen, wartet es auf den Abschluss dieser Sicherheitsüberprüfungsanfrage .

    • Das Leser-URL-Format ist "about:reader?url="+encodeURIComponent(url) , daher wäre es trivial, Vimium damit hinzuzufügen.

    • Es gibt Bedenken, dass der url -Parameter im Moment möglicherweise nicht korrekt bereinigt wird, was dies verzögert.

  • Inhaltsskripte sollten auch auf nicht piviledierten URLs ausgeführt werden können, also ist der Fehler auch dafür vielversprechend.

    • Auch dies wird bei der Sicherheitsüberprüfung blockiert (um zu überprüfen, ob Inhaltsskripts auf about:reader die Sandbox nicht beschädigen).

  • Eine API zur Überprüfung, ob der Lesemodus eine Seite unterstützt oder nicht, hat eine grundlegende Genehmigung erhalten .
  • Eine API dafür, ob Tabs im Lesemodus sind oder nicht , wurde vorgeschlagen .

    • Dies ist nicht weiter fortgeschritten, da derzeit die Suche nach about:reader am Anfang der URL des Tabs ausreichen sollte.

Bearbeiten: Der erste Aufzählungspunkt ist alles, was wir brauchen, um einen Befehl zum Eingeben/Verlassen des Lesemodus implementieren zu können.

Yay! Sorry für die Negativität.

In Bezug auf die Bearbeitung von @ mrmr1993 denke ich, dass Sie die ersten beiden Aufzählungszeichen benötigen, um den Lesemodus verlassen zu können. Im Moment scheint es, dass WebExtensions nicht in about: URLs geladen werden können, daher würde die Tastenkombination zum Verlassen des Lesemodus nicht funktionieren.

Ich nutze häufig den Lesemodus. Es macht mir nichts aus, die Standardtastenbelegung von Ctrl-Alt-r zu verwenden, um sie zu aktivieren, aber es ist ärgerlich, dass ich im Lesemodus keine anderen Tastenbelegungen verwenden kann, insbesondere j , k , und andere Tasten zum Scrollen. Benötigen wir ein separates Problem, um Vimium im Lesemodus zu laden, oder passt das hierher? Oder funktioniert es einfach ohne Änderungen an Vimium, wenn Fehler 1371786 behoben ist?

Ich denke, Sie brauchen die ersten beiden Aufzählungszeichen, um den Lesemodus verlassen zu können.

Du hast recht. Guter Fang.

Benötigen wir ein separates Problem zum Laden von Vimium im Lesemodus?

Nein: Der Issue-Tracker hier ist Chaos und fungiert im Wesentlichen als Mailingliste. Probleme werden nur behoben, wenn jemand beschließt, sie zu beheben (und Steve sich dann genug um das Problem kümmert, um die Fehlerbehebung zusammenzuführen), und dies wird nicht wirklich auf sinnvolle Weise koordiniert.

Ich benutze den Lesemodus oft, also beabsichtige ich, das zu beheben – zumindest für mich selbst – wenn es möglich wird.

wird es ohne Änderungen an Vimium funktionieren, wenn Fehler 1371786 behoben ist?

Je nach Implementierung entweder ohne Änderungen oder mit einer einzeiligen Änderung am Erweiterungsmanifest.

Die API dafür ist live in nightly. Siehe diesen Fehler (oder commit mozilla/gecko-dev@8f848ff9dfe8e5b11966cbe6177019deb1f75a3c) für Details. Ich kann keine offizielle Dokumentation finden und bin nur darauf gestoßen, als ich einige unabhängige Arbeiten an der Firefox-Codebasis durchgeführt habe.

Kurz gesagt, die Änderungen sind:

  • isArticle wurde dem Objekt Tab #$ hinzugefügt, was der Leseransichtsschaltfläche entspricht, die in der Adressleiste angezeigt wird (glaube ich)
  • isInReaderMode wurde auch zum Objekt Tab hinzugefügt
  • browser.tabs.toggleReaderMode(tabId) API hinzugefügt

Wir können immer noch keine Inhaltsskripte im Lesemodus ausführen ( dieser Fehler ), also stecken wir fest, sobald wir drin sind.

Hier ist die Dokumentation für browser.tabs.toggleReaderMode . Es ist in Firefox 58. Bis jetzt gibt es keine großen Fortschritte beim Zulassen von Inhaltsskripten im Lesemodus.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen