2

Es gibt viele Tutorials, wie Sie ein Bookmarklet (oder jedes Javascript) in eine Chrome-Erweiterung konvertieren. Aber ich brauche die umgekehrte Prozedur: Ich habe einige Erweiterungen, die ich gerne als Bookmarkle haben würde. Die Idee dahinter: Ich möchte nicht, dass diese Erweiterungen ständig meinen Arbeitsspeicher verschlingen. Stattdessen möchte ich einfach einen Knopf drücken und ein Bookmarklet ausführen, wenn ich es brauche.Konvertieren Sie Chrome-Erweiterung in Bookmarklet

Ein Beispiel ist this Extension, die einfach Javascript im Browser ein-/ausschaltet. Diese Erweiterung enthält nur eine Javascript-Datei (neben Icons, manifest.json und Signaturdatei _metadata/verified_contents.json).

Ich habe versucht, dieses Javascript als Bookmarklet zu verwenden, aber das führt mich nicht zum Erfolg - Javascript wurde nicht umgeschaltet. Es scheint, dass ich etwas Substanzielles vermisse, aber ich weiß nicht was. Könnte mir jemand auf das richtige Verfahren zur Umwandlung von Chrome-Erweiterungen zu Bookmarklets hinweisen?

Antwort

3

Die Konvertierung in ein Bookmarklet ist für Erweiterungen mit der privilegierten API chrome nicht möglich, die nur für Chrome-Apps und -Erweiterungen verfügbar ist, in diesem Fall chrome.contentSettings.javascript.set.


Die Ursache - Speicher durch eine Verlängerung hogging - kann von einer persistenten Hintergrundseite zu einem event page durch Schalten gelöst werden, die unbelastet ist, wenn eine Erweiterung nicht verwendet wird.

Sie können den Autor dieser Erweiterung dazu bringen, dies zu tun.
Leider scheinen die meisten Autoren der Erweiterung nicht zu wissen.

Eine andere Möglichkeit besteht darin, die manifest.json der Erweiterung manuell zu bearbeiten, indem Sie "persistent": false wie in der Dokumentation event page docs (das Komma nicht vergessen) hinzufügen und dann lokal laden. Einige Erweiterungen werden fehlschlagen, da das Wechseln zu einer Ereignisseite möglicherweise eine Überarbeitung des Codes erfordert.

+0

Die erwähnte Erweiterung ist eine Art von Zugriff auf die Einstellung von Chrome, die in chrome: // Einstellungen verfügbar sind. Siehst du irgendeine Möglichkeit, auf diese Einstellungen von anderen GUI-Orten zuzugreifen/sie zu ändern, wie zum Beispiel chrome: // settings? –

+0

wow, hinzufügen von '" persistent ": false macht Wunder! Einige Sekunden nachdem er seine Arbeit erledigt hat, löscht sich die Erweiterung von RAM. Ich werde auf diesem Weg einige meiner Erweiterungen bearbeiten und sie lokal laden. –

+0

:) habe gerade so scheitern :) 'Die 'webRequest' API kann nicht mit Ereignisseiten verwendet werden –