2013-09-03 8 views
9

一般的に私はブラウザでjavascriptからシステムライブラリやdllを呼び出せないことに気付いています。しかし、多くのアプリケーションでは、ブラウザが他のプロセスを開始しています。たとえば:javacriptでバックグラウンドプロセスを開始する

  1. はできるだけ早く私は、グーグルプラスを開くと、それがバックグラウンドで(フォルダC:\Users\Jatin\AppData\Local\Google\Google Talk Pluginから)googletalkplugin.exeを開始します。 (リソースモニターで見ることができます)
  2. facebookビデオチャットでも同じです。はじめて、プラグインをインストールするように頼み、その後チャットを開始するとプロセスが開始されます。
  3. トレントサイトでは、マグネットリンクを提供しています。トレントマグネットのリンクをクリックすると、システムのデフォルトのトレントクライアントが開きます。

ところで、フラッシュとアプレットで同じです。

ブラウザは他のプロセスをどのように起動して通信するのですか?私は行方不明のオープンスタンダードはありますか?

最終的に私はスクリーンキャストでビデオ録音を行いたいと考えています。画面記録の場合、Javaアプレットは唯一のソリューションのように見えますが、アプレットには独自の問題があります。

+0

どのような用途ですか? [http://stackoverflow.com/questions/3152482/running-exe-from-javascript](http://stackoverflow.com/questions/3152482/running-exe-from-javascript) – Andy

+0

@Andy少し私が知っているからIE上でのみ動作します – Jatin

答えて

3

フラッシュプレーヤーとアプレットは、OSのネイティブアプリケーションであるプラグイン(JavaScriptがほとんどではない)を使用しますが、プラグインは拡張機能ではなくプラグインです。 Chromeの場合は、インストールされているプラ​​グインの一覧を表示するにはchrome:// plugins /を参照してください。ブラウザプラグインを書くための

How to write a browser plugin?

に急流のリンクを参照して、それらが処理するURLプロトコルを登録することによって行われ、全く異なるものです。つまり、今からというコンピュータに、torrentのプロトコルを持つURLを実行します。つまり、torrent://で始まります。参照:Uri Scheme

ブラウザーがuriを見ると、それはtorrentプロトコル自体を処理していないことを知っているので、それをどのように処理するのかを知っているOSに委譲します。

ブラウザがそれを処理する方法を知っていたら、おそらくそれをOSに委任しませんでした。例:Google Chromeはmailto:リンクを処理するには、OSによって処理されるmailtoプロトコルを登録する必要がありません。

2

これは、プラグインを作成することで可能です。そのためには、当然のことながら、ページが任意の外部アプリケーションを起動することができます何の既存の標準のプラグインが存在しないFirebreath

と呼ばれるライブラリを使用して、同じC++コードを使用して、最も一般的なブラウザ上で動作するプラグインを作成することが可能です大規模なセキュリティホールとなり、そのようなプラグインをインストールすることに同意しない。

必要な機能だけを慎重に限定したプラグインを作成する必要があります。そのため、ユーザーはこれらの機能だけを使用することに同意することができます。もう一度、このルートを下る前に別のページがこれらの機能をどのように悪用するかを考えてみてください。

関連する問題