問題タブ [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.
objective-c - ネイティブ メッセージング API エラー: 指定されたネイティブ メッセージング ホストが見つかりません
Google Chrome とのメッセージ パッシングを伴う OS X 用の Objective-C アプリを開発しています。私は例に従い、ここからサンプルをダウンロードしました。ただし、拡張機能をアプリに接続することはできません。マニフェスト ファイル内のアプリへのパスは、「/Users/username/Library/Developer/Xcode/DerivedData/app_name-UUID/Build/Products/Debug/app_name.app/Contents」にある unix 実行可能ファイルへの絶対パスです。 /MacOS/アプリ名". 前のリンクに記載されている両方の場所に同じマニフェスト ファイルを配置しました (必要なのは 1 つだけであることは理解しています)。
実行中のアプリに接続しようとすると、「接続に失敗しました: 指定されたネイティブ メッセージング ホストが見つかりません」というメッセージが表示されます。
ネイティブ アプリの開発中にメッセージング API をテストできますか? もしそうなら、どのように?または、最初にアプリを .dmg ファイルにパッケージ化する必要がありますか?
google-chrome-extension - ネイティブメッセージングのセキュリティ?
Web サイトのサインイン データ用の NPAPI プラグインがあります。
Native Messagingテクノロジーに置き換えたい。ドキュメントを読みましたが、質問があります: この技術は安全ですか?
ハッカーは、JavaScript からネイティブ ホスト アプリへの転送とその逆の転送でデータをキャッチできますか?
編集:より良い言葉の質問にマージ:
stdio
データ転送の安全性は?- そのようなデータ転送に対する中間者攻撃の方法はありますか?
google-chrome-extension - Chrome 拡張機能とネイティブ メッセージング ホスト間の接続を長期間維持するにはどうすればよいですか?
Chrome 拡張機能を作成し、Native Messagingを使用して C++ ネイティブ アプリケーションに接続しました。
ただし、Chrome 拡張機能がネイティブ ホストに送信するメッセージごとに、新しいホスト exe インスタンスが作成されます。ホストにたくさんのメッセージを送るので効率が悪いと思います。
Chrome 拡張機能とネイティブ メッセージング ホストとの間に長期間接続する方法はありますか?
c# - 拡張機能を有効にするときではなく、クリック時にクロムネイティブアプリを開く必要があります
Windows フォーム (c#) でクロム ネイティブ アプリケーションを使用しています。クロムで拡張機能を有効にすると、開いていました。アプリケーションexeをクリックしたときだけ開くように管理できますか? どうすればそれができますか?これはC#コードです
background.JS コード
Chrome 拡張機能をアプリケーションに接続するための Menifest ファイル
java - Chrome 拡張機能を使用した Java ネイティブ メッセージング - 長さを正しく書き込めません
現在、Chrome 拡張機能と通信する Java プログラムを作成しています。通信するには、Chrome ネイティブ メッセージング プロトコルを実装する必要があります。Google Chrome のドキュメントには次のように書かれています。
... 各メッセージは JSON を使用してシリアル化され、UTF-8 でエンコードされ、ネイティブのバイト順で 32 ビットのメッセージ長が前に付けられます。(ソース)
これを Java で実装しようとしましたが、実装が正しいはずなのに、メッセージが特定の長さになると問題が発生します。以前のSO回答と質問に基づく私の現在の実装は次のとおりです(例はこちら):
問題は、Java が文字を実装する方法にあるようです。C のように、通常の文字を期待します。実際には、Java はこれらの文字を unicode-char に変換することがあるようです (または、少なくとも、これまでのところ私の疑いです)。これは、長さ 2269 の Java プログラムからの次の出力 (実際のバイトを表示するために xxd にパイプされます) に反映されています。
ただし、予想される出力(pythonを使用):
ここで正確に何が起こっているのですか?Java が "0xDD" を "0xC39D" に変換するのはなぜですか? また、getBytes
関数が Chrome ネイティブ メッセージングの予期される入力を表すようにするにはどうすればよいですか? 別の言語を使用することはオプションではありません。
c++ - ホスト アプリから Chrome 拡張機能へのメッセージを開始する
スタック オーバーフローの善良な人々のおかげで、Chrome 拡張機能からネイティブ (C++) アプリにメッセージを送信することができました。ネイティブ ホスト アプリがメッセージを受信すると、任意の応答データを返すことができます。ただし、これはネイティブ アプリが拡張機能からデータを受信することへの応答です。また、拡張機能によって送信されるメッセージは同期的ではないため、拡張機能はホスト アプリからの応答を待ちません。
私の要件は、ネイティブ アプリから通信接続を開始することです。つまり、ネイティブ アプリは定期的に Chrome 拡張機能に更新を送信します。ネイティブ アプリからメッセージの送信を開始し、それを適切な Chrome 拡張機能に渡すメカニズムはありますか?
私は基本的に次のことを達成したいと考えています: webRequest.OnBeforeSendHeaders のようなイベントにメッセージを投稿し、メッセージへの応答で、URL 要求をブロックする必要があるかどうかを判断したいと考えています。応答の受信がコールバックで行われる場合、これはほとんどが別のスレッドで行われるため、webRequest.OnBeforeSendHeaders スレッドで応答を待つことができません。ネイティブ アプリがリクエストに応答するのを待っている間に、webRequest.OnBeforeSendHeaders を一時停止する方法はありますか? または、webRequest.OnBeforeSendHeaders はメッセージ バッファーを (ループで) 覗いて、ネイティブ アプリが応答したかどうかを確認できますか?
または、これを達成する別の方法はありますか?
c++ - NativeMessaging を使用する Chrome 拡張機能は、ある種の json データを受信できません
Chrome 拡張機能は、ネイティブ メッセージングを使用して json データを受信します。
私のC ++プログラムでは、json文字列を送信するstr1[]
と拡張機能はそれを受信できますが、送信するstr2[]
と拡張機能は受信できません。この文字列に問題はありますか?
str2[]
正しい Json データである長い文字列を表しますが、拡張によって受け入れることはできません。
同じ問題に遭遇して解決した人はいますか?
次のように長さとメッセージを送信しようとしています:
私はこれらの方法を使用して長さを送信しました: