問題タブ [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.
javascript - ネイティブ クライアント モジュールは、C++ コードによって生成された HTML をレンダリングできますか?
入力ファイルを処理し、HTML や SVG を出力するデータ分析コードがあります。これは C++ であり、CPU を集中的に使用します。
ブラウザを離れることなくコードを使用できるように、ブラウザ プラグインを作成したいと考えています。Google の Native Client フレームワークと Pepper API は興味深いように思えますが、おそらく少し制限が強すぎるでしょう。Native Client モジュールから Pepper 経由で次のことを行うことは可能ですか?
ユーザーのファイルシステム上のローカル ファイルにアクセスします。NaClサンドボックスが一般的にこれを防ぐことは知っていますが、ユーザーが選択したファイルをJavascriptレイヤーからNaCLに渡す方法は確かにありますか?
HTML または SVG をブラウザに出力します。C++ が含まれているドキュメントの DOM を変更できる方法はありますか?
javascript - ブラウザー ウィンドウでのパイプ出力の効率的なスクロール
ユーザーのマシンでローカル プロセスを呼び出し、stdout をブラウザーに戻すカスタム ブラウザー プラグイン (FireBreath で構築) があります。これを行うには、popen() 呼び出しを介してプロセスを実行し、パイプ JSAPI イベントを発生させ、ブラウザに送り返します。
ブラウザーで、出力をフォーマット済みのテキストとして div に追加し、div に一番下までスクロールするように指示します。
ブラウザ プラグインのコード:
HTML & Javascript/jQuery:
この方法は、私が必要とするブラウザでは機能しますが (これは内部ツールの使用が制限されています)、イライラするほどラグがあります。私のプロセスは通常、出力ウィンドウのスクロールが完了する 30 ~ 60 秒前に終了します。では、これをより効率的にするにはどうすればよいでしょうか。このテキストをブラウザに戻すより良い方法はありますか?
c++ - FireBreath フレームワークで Win32 API CreateProcess を使用する
Firebreath フレームワークを使用してブラウザ プラグインを開発しようとしています。私が達成したい最初のことは、プラグインが traceroute を実行できるようにすることです。今のところWindows7でやっています。現在、Win32API CreateProcess を使用してコマンド シェルを呼び出すことにしました。dwFlags = STARTF_USESHOWWINDOW を設定することで、実行中にコマンド シェル ウィンドウを非表示にすることができます。
問題 : createProcess は run() というメソッドに実装されており、テストのために JS を使用して呼び出しました。plugin().run() を呼び出したところ、traceroute は正常に機能しており、出力は意図したとおりにテキスト ファイルに正常に書き込まれました。ただし、実行中にブラウザが応答しなくなり、traceroute が完了してからプラグインが最後にクラッシュしました。私はプラグイン開発が初めてで、 c++ に関する知識がほとんどないため、なぜこの問題が発生したのだろうか。参考までに、コマンドシェル ウィンドウを非表示にしなかった場合、プラグインは驚異的に機能しました。traceroute の実行中、ブラウザは応答していました。
macos - ブラウザ プラグイン Mac OS X からのコンソール出力?
Mac OS X 用に作成されたブラウザ プラグインにログ ステートメントを挿入して、プラグインの実行中にログ ステートメントを表示するにはどうすればよいですか?
javascript - Firebreath JavaScript エラー: サポートされていません: 関数型に toString() 関数がありません
firebreath フレームワークを使用してブラウザ プラグインを作成しています。JavaScript でプラグインを使用すると、奇妙なエラーが発生します。
JSAPIPtr を返す Dropbox_pluginAPI クラスのメソッドを数回呼び出そうとすると、このエラーが発生します。
コードは次のとおりです。
誰かがfirebreathで働いて、私を助けてくれることを願っています!
Firefox のバージョンを更新し、断片を別の行に分割しましたが、それでもエラーが発生します。私は次のことをしました:
アラートが呼び出されることはありません。いくつかの呼び出しの後、まだエラーがあります:
列をなして:
web - マイク入力のある Web アプリ
私は、マイク入力を受け取り、それを処理し、オーディオを再生する C++ アプリケーションに取り組んでいます。この処理には、サーバー上にあるデータベースが組み込まれます。UI の作成を容易にし、移植性を最大限に高めるために、フロント エンドを HTML で行うとよいと思います。基本的に、ブラウザでオーディオを録音し、そのオーディオをサーバーに送信して処理し、サーバーからオーディオを受信してブラウザ内で再生したいと考えています。
明らかに、HTML5 がマイク入力をサポートしていればよいのですが、そうではありません。したがって、これを実現するには、何らかのプラグインを作成する必要があります。NPAPI は、関連するセキュリティの問題のために私を怖がらせているので、PPAPI と Native Client を調べていました。Native Client はまだマイク入力をサポートしておらず、PPAPI オーディオ入力 API は Chrome の開発ビルドに限定されると思います。FireBreath は、マイク機能もサポートしていないようです。したがって、私のオプションは次のとおりです。
- オーディオを録音するための独自の NPAPI プラグインを作成する
- Flash を使用してマイク入力を取得する
- ブラウザを完全に救済し、ネイティブ アプリケーションを作成するだけです
これの対象読者は、幼い子供やコンピューターに慣れていない人です。できるだけポータブルで使いやすいものにしたいと思います。助言がありますか?
firefox - ウェブサイトを「モンキーテスト」する方法
モンキーがウェブサイトをテストする方法を探しています。時間間隔と非クリックゾーンを定義できるブラウザプラグインのようなもので、プラグインは指定された時間間隔の間にどこでも(非クリックゾーンまたはDOM要素を除く)クリック(および場合によっては他のアクション)を開始します。
オンラインで検索したところ、iPhoneとAndroidでこのタイプのテストしか見つかりませんでした。
npapi - NPAPI 複数インスタンスの競合
スクリプト可能な NPAPI プラグインを開発しました。Chrome/Firefox で 1 つのインスタンスを読み込もうとすると、Web ページ (Web ページ A) とその JavaScript との通信に問題はありません。しかし、プラグインが埋め込まれた新しいページ (Web ページ B) を開くと、Web ページ B ではなく Web ページ A と通信したいと考えています。
これは、エントリポイントが既に設定されており、正しいインスタンスにリセットする必要があるためでしょうか?
ありがとう
javascript - NPAPI: プラグイン オブジェクトの CSS プロパティを変更する
WebKit に基づく組み込みブラウザー用の NPAPI プラグインをプログラミングしています。このプラグインで処理されるオブジェクトの 1 つは、javascript プロパティを使用してサイズを変更したいビデオ フレームwidth
ですheight
。
そのため、プラグインの C++ 実装では、これら 2 つのプロパティ ( widthとheight ) を NPAPI NP_Class関数ポインター (私の場合はHasProperty / GetProperty / SetPropertyメソッドにマップ) を介して公開します。
さて、私を悩ませているのは、WebページのJavascriptが次のようなことをするときです:
それは私の C++ コードに入り、ビデオのサイズ変更を実行します (私の組み込みプラットフォームでは、ビデオ ドライバーに直接行きます)。しかし、その直後に、ブラウザから NPN_setWindow() 関数を介して呼び出され
、ビデオオブジェクトの元のサイズ (この例では高さ 150px) が返されます。
これNPP_setWindow
もビデオ ドライバーに直接マッピングされるため、瞬く間に 250px の高さのビデオしか表示されません。これはすべて、ブラウザが元の「スタイル」属性のみをカウントするためであると思われます。
だから、質問:
- NPAPIを使用して、ブラウザの幅/高さ (スタイルも?) プロパティを何らかの形で更新させることはできますか?
- NPP_setWindow 呼び出しを単に無視し、NPN_New() への最初の呼び出し (オブジェクトのスタイル プロパティを提供します) とそれに続く
video.height
NP API を介した呼び出しに基づいて、一意にサイズ変更を実行する必要がありますか?
私は最初のバージョンの方が好きだと思います。なぜなら、ブラウザがいつ再描画するかを決定できるからです。この方法で、ほとんどステートレスなビデオ プラグインを使用できます。
また、この最初のバージョンでは、プラグイン DOM オブジェクトの CSS プロパティを変更する機能が Web ページに提供されます。これは、NPP_setWindow 呼び出しによって自動的に反映されます。
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はクラッシュしません。この変更/コードは大丈夫ですか?