問題タブ [browser-plugin]

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.

0 投票する
2 に答える
1006 参照

javascript - ネイティブ クライアント モジュールは、C++ コードによって生成された HTML をレンダリングできますか?

入力ファイルを処理し、HTML や SVG を出力するデータ分析コードがあります。これは C++ であり、CPU を集中的に使用します。

ブラウザを離れることなくコードを使用できるように、ブラウザ プラグインを作成したいと考えています。Google の Native Client フレームワークと Pepper API は興味深いように思えますが、おそらく少し制限が強すぎるでしょう。Native Client モジュールから Pepper 経由で次のことを行うことは可能ですか?

  1. ユーザーのファイルシステム上のローカル ファイルにアクセスします。NaClサンドボックスが一般的にこれを防ぐことは知っていますが、ユーザーが選択したファイルをJavascriptレイヤーからNaCLに渡す方法は確かにありますか?

  2. HTML または SVG をブラウザに出力します。C++ が含まれているドキュメントの DOM を変更できる方法はありますか?

0 投票する
1 に答える
288 参照

javascript - ブラウザー ウィンドウでのパイプ出力の効率的なスクロール

ユーザーのマシンでローカル プロセスを呼び出し、stdout をブラウザーに戻すカスタム ブラウザー プラグイン (FireBreath で構築) があります。これを行うには、popen() 呼び出しを介してプロセスを実行し、パイプ JSAPI イベントを発生させ、ブラウザに送り返します。

ブラウザーで、出力をフォーマット済みのテキストとして div に追加し、div に一番下までスクロールするように指示します。

ブラウザ プラグインのコード:

HTML & Javascript/jQuery:

この方法は、私が必要とするブラウザでは機能しますが (これは内部ツールの使用が制限されています)、イライラするほどラグがあります。私のプロセスは通常、出力ウィンドウのスクロールが完了する 30 ~ 60 秒前に終了します。では、これをより効率的にするにはどうすればよいでしょうか。このテキストをブラウザに戻すより良い方法はありますか?

0 投票する
1 に答える
593 参照

c++ - FireBreath フレームワークで Win32 API CreateProcess を使用する

Firebreath フレームワークを使用してブラウザ プラグインを開発しようとしています。私が達成したい最初のことは、プラグインが traceroute を実行できるようにすることです。今のところWindows7でやっています。現在、Win32API CreateProcess を使用してコマンド シェルを呼び出すことにしました。dwFlags = STARTF_USESHOWWINDOW を設定することで、実行中にコマンド シェル ウィンドウを非表示にすることができます。

問題 : createProcess は run() というメソッドに実装されており、テストのために JS を使用して呼び出しました。plugin().run() を呼び出したところ、traceroute は正常に機能しており、出力は意図したとおりにテキスト ファイルに正常に書き込まれました。ただし、実行中にブラウザが応答しなくなり、traceroute が完了してからプラグインが最後にクラッシュしました。私はプラグイン開発が初めてで、 c++ に関する知識がほとんどないため、なぜこの問題が発生したのだろうか。参考までに、コマンドシェル ウィンドウを非表示にしなかった場合、プラグインは驚異的に機能しました。traceroute の実行中、ブラウザは応答していました。

0 投票する
1 に答える
306 参照

macos - ブラウザ プラグイン Mac OS X からのコンソール出力?

Mac OS X 用に作成されたブラウザ プラグインにログ ステートメントを挿入して、プラグインの実行中にログ ステートメントを表示するにはどうすればよいですか?

0 投票する
1 に答える
1403 参照

javascript - Firebreath JavaScript エラー: サポートされていません: 関数型に toString() 関数がありません

firebreath フレームワークを使用してブラウザ プラグインを作成しています。JavaScript でプラグインを使用すると、奇妙なエラーが発生します。

JSAPIPtr を返す Dropbox_pluginAPI クラスのメソッドを数回呼び出そうとすると、このエラーが発生します。

コードは次のとおりです。

誰かがfirebreathで働いて、私を助けてくれることを願っています!


Firefox のバージョンを更新し、断片を別の行に分割しましたが、それでもエラーが発生します。私は次のことをしました:

アラートが呼び出されることはありません。いくつかの呼び出しの後、まだエラーがあります:

列をなして:

0 投票する
2 に答える
2591 参照

web - マイク入力のある Web アプリ

私は、マイク入力を受け取り、それを処理し、オーディオを再生する C++ アプリケーションに取り組んでいます。この処理には、サーバー上にあるデータベースが組み込まれます。UI の作成を容易にし、移植性を最大限に高めるために、フロント エンドを HTML で行うとよいと思います。基本的に、ブラウザでオーディオを録音し、そのオーディオをサーバーに送信して処理し、サーバーからオーディオを受信して​​ブラウザ内で再生したいと考えています。

明らかに、HTML5 がマイク入力をサポートしていればよいのですが、そうではありません。したがって、これを実現するには、何らかのプラグインを作成する必要があります。NPAPI は、関連するセキュリティの問題のために私を怖がらせているので、PPAPI と Native Client を調べていました。Native Client はまだマイク入力をサポートしておらず、PPAPI オーディオ入力 API は Chrome の開発ビルドに限定されると思います。FireBreath は、マイク機能もサポートしていないようです。したがって、私のオプションは次のとおりです。

  • オーディオを録音するための独自の NPAPI プラグインを作成する
  • Flash を使用してマイク入力を取得する
  • ブラウザを完全に救済し、ネイティブ アプリケーションを作成するだけです

これの対象読者は、幼い子供やコンピューターに慣れていない人です。できるだけポータブルで使いやすいものにしたいと思います。助言がありますか?

0 投票する
3 に答える
5658 参照

firefox - ウェブサイトを「モンキーテスト」する方法

モンキーがウェブサイトをテストする方法を探しています。時間間隔と非クリックゾーンを定義できるブラウザプラグインのようなもので、プラグインは指定された時間間隔の間にどこでも(非クリックゾーンまたはDOM要素を除く)クリック(および場合によっては他のアクション)を開始します。

オンラインで検索したところ、iPhoneとAndroidでこのタイプのテストしか見つかりませんでした。

0 投票する
1 に答える
522 参照

npapi - NPAPI 複数インスタンスの競合

スクリプト可能な NPAPI プラグインを開発しました。Chrome/Firefox で 1 つのインスタンスを読み込もうとすると、Web ページ (Web ページ A) とその JavaScript との通信に問題はありません。しかし、プラグインが埋め込まれた新しいページ (Web ページ B) を開くと、Web ページ B ではなく Web ページ A と通信したいと考えています。

これは、エントリポイントが既に設定されており、正しいインスタンスにリセットする必要があるためでしょうか?

ありがとう

0 投票する
2 に答える
754 参照

javascript - NPAPI: プラグイン オブジェクトの CSS プロパティを変更する

WebKit に基づく組み込みブラウザー用の NPAPI プラグインをプログラミングしています。このプラグインで処理されるオブジェクトの 1 つは、javascript プロパティを使用してサイズを変更したいビデオ フレームwidthですheight

そのため、プラグインの C++ 実装では、これら 2 つのプロパティ ( widthheight ) を NPAPI NP_Class関数ポインター (私の場合はHasProperty / GetProperty / SetPropertyメソッドにマップ) を介して公開します。

さて、私を悩ませているのは、WebページのJavascriptが次のようなことをするときです:

それは私の C++ コードに入り、ビデオのサイズ変更を実行します (私の組み込みプラットフォームでは、ビデオ ドライバーに直接行きます)。しかし、その直後に、ブラウザから NPN_setWindow() 関数を介して呼び出され
ビデオオブジェクトの元のサイズ (この例では高さ 150px) が返されます。

これNPP_setWindowもビデオ ドライバーに直接マッピングされるため、瞬く間に 250px の高さのビデオしか表示されません。これはすべて、ブラウザが元の「スタイル」属性のみをカウントするためであると思われます。

だから、質問:

  • NPAPIを使用して、ブラウザの幅/高さ (スタイルも?) プロパティを何らかの形で更新させることはできますか?
  • NPP_setWindow 呼び出しを単に無視し、NPN_New() への最初の呼び出し (オブジェクトのスタイル プロパティを提供します) とそれに続くvideo.heightNP API を介した呼び出しに基づいて、一意にサイズ変更を実行する必要がありますか?

私は最初のバージョンの方が好きだと思います。なぜなら、ブラウザがいつ再描画するかを決定できるからです。この方法で、ほとんどステートレスなビデオ プラグインを使用できます。
また、この最初のバージョンでは、プラグイン DOM オブジェクトの CSS プロパティを変更する機能が Web ページに提供されます。これは、NPP_setWindow 呼び出しによって自動的に反映されます。

0 投票する
0 に答える
262 参照

firefox - plugin-containerなしでプラグインをロードするさまざまな結果

私はVC2010-Expressでnpruntime-scriptable-pluginを試しています。

プラグインなしのFirefox-コンテナ。


スクリプト可能なプラグインのサンプル

結果はここにあります:

NPN_Evaluate()テスト、ドキュメント=[オブジェクトHTMLDocument]

関数bar([オブジェクトウィンドウ])が呼び出されました!


Mozilla / 5.0(Windows NT 5.1; rv:11.0)Gecko / 20120407 Firefox / 11.0


プラグインコンテナを備えたFirefox


スクリプト可能なプラグインのサンプル

結果はここにあります:

関数bar([オブジェクトウィンドウ])が呼び出されました!


Mozilla / 5.0(Windows NT 5.1; rv:11.0)Gecko / 20120407 Firefox / 11.0


ラインがありません

NPN_Evaluate()テスト、ドキュメント=[オブジェクトHTMLDocument]

プラグインのデフォルトのロードはplugin-containerが有効になっているため、これは重要です。何が問題なのですか?

2.)プラグインがクラッシュする(Firefoxが閉じる)------------------

modules / plugin / sdk / samples / npruntime/plugin.cpp作成者JoshAasMon Nov 23 13:57:27 2009 -0500(Mon Nov 23 13:57:27 2009 -0500)

Line758をに変更します

バージョン文字列が空の場合、Firefoxはクラッシュしません。この変更/コードは大丈夫ですか?