1

当社は、ソフトウェア(Windows用のバイナリ.exe)を単純なChrome拡張機能(コンテンツスクリプトのみ{Chrome APIを使用しない})にバンドルしたいと考えています。

バイナリ.exeは、Chrome拡張機能に渡す必要のある文字列を動的に生成します。

私の質問は-それをどのように行うのですか?

Chrome拡張機能にはある種の設定ファイルがないようです。EXTENSION-ID.iniを作成し、そこに構成をセットアップするか、レジストリ(Windowsの場合)に配置できれば素晴らしいと思います。

または、プラグインの各ファイル(.js、.manifest)を個別のフォルダーに動的にビルドして、渡す必要のあるこの文字列を設定し、このフォルダーを.crxにパッケージ化して、最後に.crxにパッケージ化することもできます。初期化時にこの拡張機能をインストールするようにchromeに指示するWindowsレジストリキーを設定します。(ただし、これは実際的な解決策のようには見えません。それでも、更新された文字列値を取得するには、ブラウザーを再起動する必要があります)。

.crxをデプロイし、拡張機能を次のようなスクリプトタグをページに挿入して、外部ローカルファイルから構成をロードしてみました

<script src="file://c:/path/to/configs.js"></script>

しかし、それは機能しませんでした、理由はわかりません-おそらく拡張機能はfile://プロトコルにアクセスできませんか?

chrome.extension.getURL()を使用して、javascriptを介して拡張機能のローカルパスにアクセスできるようです。しかし、それは、すでにパッケージ化された.crx内にファイルを挿入する簡単な方法がないと思うので、どちらも役に立ちません。拡張機能をインストールさせません。ああ、私の...

4

3 に答える 3

1

まあ、それは拡張機能が機能すると思われる方法ではないと思うので、とてもトリッキーに思えます。拡張機能は、ローカル ドライブ内のファイルにアクセスしたり、構成ファイルを読み取ったり、dll を介してリンクしたりすることはできません。

特定の URL で引数として渡すことで、拡張機能に情報を送信します。http://www.abc.comがコンテンツ スクリプトを起動した場合、http : //www.abc.com ?param=configurationParametersAllYouCanPutInThisLine を呼び出す必要があります。

ページが読み込まれる前にスクリプトを実行するなどして、詳細を確認できます。

Flash を使用してローカル ドライブにアクセスする、より適切で洗練された方法があるかもしれません。

于 2012-08-10T22:18:59.917 に答える
1

使ってみて

chrome.extension.getURL('folder/file.js')

ここで、folder は拡張パッケージ内のフォルダーです。

于 2013-11-11T20:02:03.613 に答える
0

このような場合、ネイティブ メッセージングが役立つ場合があります。拡張機能がネイティブ アプリと通信できるようにします。 http://developer.chrome.com/extensions/messaging.html#native-messaging

于 2014-02-02T10:23:38.000 に答える