問題タブ [chrome-native-messaging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 通信時の Chrome ネイティブ メッセージング エラー
いくつかの画像を処理したい Google Chrome の拡張機能を作成しようとしています。拡張機能は以前は NPAPI を使用して作成されていましたが、段階的に廃止されたため、別の代替手段に切り替える必要があり、ネイティブ メッセージングがこの仕事に最も適しているように見えました。
ネイティブ ホストは C++ で記述されており、拡張機能から送信されたフォーマットされたメッセージ ({action:"name_of_action",buffer:"x0x0",length:"4"} など) を stdin から読み取り、解析し、バッファを抽出して実行します。画像を処理した後、拡張機能にメッセージを返す必要があります。
私が直面している問題は、いくつかのメッセージの後 (番号は毎回同じではありません)、使用されているポートが切断され、javascript コンソールでメッセージが次のようになることです:ネイティブメッセージングホストと通信中にエラーが発生しました。.
私のアプリケーションは基本的にこれを行います:
拡張機能から画像バッファーを送信し (base64 エンコード)、それらをデコードし、アプリでそのバッファーを処理します。(Windows で) UrlDownloadToFile 関数を使用して C++ からその画像をダウンロードしようとしましたが、失敗したようで、最終的には前のメッセージネイティブ メッセージング ホストと通信中にエラーが発生しました。クロムがメッセージング ホストの実行可能ファイルからファイルをダウンロードできない理由を知っている人はいますか?
chrome-native-messaging - Chromium ブラウザー - ネイティブ メッセージングの例の問題
以下のリンクにあるのと同じ例を試しています
Fedora 17 で Chromium ブラウザ 25 を使用する
説明したように、アプリを Chromium ブラウザーにロードすると、上記と同じエラーが発生します。
Chrome://Version が表示されても、Enable-Native-Messaging オプションが表示されません。また、Chrome://Flags には、ネイティブ メッセージングを有効にするオプションがありません。
このエラーが発生しています
キャッチされていないタイプ エラー: オブジェクト # にはメソッド "ConnectNative" がありません
エラーは、Fedora 17 で使用している Chromium ブラウザ バージョン 25 が原因ですか?
はいの場合、Fedora で Native-Messaging-API をサポートする Chromium ブラウザー バージョンをどこで入手できますか?
javascript - Chrome ネイティブ メッセージングのデバッグ
私は Chrome 拡張機能の開発の初心者です。拡張機能と C++ コードの間でネイティブ メッセージングを実現しようとしています。ここにC++コードがあります
}
問題は、拡張機能が何かを受け取り、プログラムをデバッグする方法がわからないことです。エラーが表示されるようにターミナルからChromeを開こうとしたのですが、何も表示されません。ここに background.js のコードがあります
プログラムをデバッグする方法はありますか?
javascript - 外部アプリケーションを呼び出すための NPAPI の置き換え (ネイティブ メッセージング ホスト) が機能しない
私には同じことをする Firebreath プラグインがありますが、そのサポートがクロムで削除されているため、代替手段を探す必要があります。代替案を検討した結果、ネイティブ メッセージング ホストが私の場合には最適なオプションのように思えます。次の com.mycompany.testapp.json を作成しました
そしてそれをディレクトリにコピーしました:
しかし、私のアプリは呼び出されません。
google-chrome - HKCU ネイティブ メッセージング ホストをサポートする Chrome のバージョン
Windows 用のネイティブ メッセージング アプリケーションと対話する Chrome 拡張機能を開発しています。現在のドキュメントでは、ネイティブ メッセージング ホストを HKLM と HKCU の両方に登録できると記載されています。問題は、どのバージョンの Chrome ブラウザが HKCU でのネイティブ メッセージング ホストの登録をサポートしているのかということです。
注: HKCU のサポートが issue #321480 ( https://code.google.com/p/chromium/issues/detail?id=321480 ) で対処されていることを確認し、トランクのコードも確認しました。私が理解できないのは、Chrome のどのバージョンにこの新しいコードが含まれているかということです。
.net - Windows 上の .NET アプリケーションへのネイティブ メッセージング
ネイティブ メッセージングのドキュメントにできる限り従いましたが、ネイティブ .NET アプリケーションを Windows 上で実行することさえできないようです。追加情報を探しているときに、文書化されておらず不明確なものがあることに気付きました。
まず、ドキュメントには「nativeMessaging」権限を追加する必要があることは記載されていません。これを変更した後、もう少し進みました。Chrome では、バルーン ポップアップに「新しいバックグラウンド アプリが追加されました」と表示されるようになりました。
ただし、次のコードは、私が試したいくつかのことにもかかわらず、すぐに切断され続けます。
このことをデバッグする試みに基づいて、いくつか質問があります。
- Windows で、Chrome がレジストリの NativeMessagingHosts からマニフェストを読み込もうとするのはいつですか? つまり、値を変更したときに Chrome を再起動する必要がありますか、それとも"chrome://extensions/"で拡張機能をリロードするだけで十分ですか?
- レジストリの絶対パス、どのようにフォーマットする必要がありますか? たとえば、パス セパレータが機能するときに「\\\\」スラッシュのみを記述している人を見たことがあります。周囲の引用符が必要ですか?
- 何がうまくいかないのかについて、より多くの情報を得る方法はありますか? テスト目的で、レジストリ キーの名前を変更して、別のエラーが発生するかどうかを確認しました (読み込めないため、それが通知されると仮定します)。代わりに「onDisconnect」がまだ呼び出されているようです。
- レジストリ内のパスと同様に、レジストリ値が指すネイティブ アプリケーション マニフェスト ファイル内のネイティブ アプリケーションを指す相対パスはどのようにフォーマットする必要がありますか? (ドキュメントにこの例がありますが、何が機能し、何が機能しないかを確認するために...)
現在、これをデバッグするには変数が多すぎるようです。少なくともレジストリ値が正しく設定されているかどうかを確認する方法がすぐにはわかりません。