0

ユーザーに基本的な API を提供する Chrome の拡張機能を構築しています。他の開発者が自分の API に独自の機能を追加できるようにしたいと考えています。たとえば、一部の開発者は新しい「プラグイン」(JavaScript コードのみ) を提供しており、ユーザーがそのプラグインを拡張機能にダウンロードできるようにしたいと考えています。

私が直面している主な問題はこれです:

  • 新しいコードを拡張機能に永続的にロードするにはどうすればよいですか?

拡張機能の JavaScript にコードを追加したいのですが、ファイルに書き込む方法がありません。JavaScript によって制限されているような印象を受けました。これは本当ですか?

新しいコードを (何らかのスクリプトをダウンロードすることで) 動的にロードすることもできますが、そのコードは現在の実行に対してのみ保持され、永続的に追加されるわけではありません。むしろ、ユーザーが拡張機能をリロードすると消えます。

これまでのところ、私が確認できる唯一の解決策は、ログイン システムを作成して、各ユーザーがダウンロードしたプラグインを保存し、拡張機能を開くたびにプラグインをロードする必須オプションをユーザーに与えることです。

毎回ユーザーをログインさせたくないので、この方法は非常に面倒で実用的ではありません。実際、ログインシステムの使用は一切控えたいと思っています。

私が望んでいるのは、GreaseMonkey 拡張機能が行うことと同様の機能です。つまり、ユーザーがスクリプトを作成し、他のユーザーがスクリプトをダウンロードできるようにする機能です。

私は明らかに、GreaseMonkey よりもはるかに小さくてシンプルな拡張機能を作成しようとしていますが、GreaseMonkey のようなものは多かれ少なかれ私が探しているものです。

何か考えや提案はありますか?

4

1 に答える 1

2

すべての「プラグイン」は、独立したChrome拡張機能になります。次に、メッセージパッシングを使用して、インストールされているすべての拡張機能にメッセージを送信できます。プラグインである拡張機能には、次のようなコードが含まれている必要があります。

if recieve "some identifying key"
then respond "information about this plugin"

これで、メインの拡張機能はインストールされているプラ​​グインを認識し、を使用してJSファイルをロードできますchrome-extension://[extensionID]/file.js"

それはあなたが始めるはずです:)

于 2013-01-07T19:49:56.840 に答える