問題タブ [npruntime]

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 投票する
1 に答える
344 参照

firefox - 非 ASCII 文字列を NPN_Invoke に渡す際の問題

私のプラグインは NPN_Invoke を使用して JavaScript 関数を呼び出し、それに文字列引数を渡します。その中のすべての文字が ASCII であれば、すべてが正常に機能します。ただし、文字列に非 ASCII 文字が含まれている場合、JavaScript は空の文字列を受け取ります。

NPN_Invoke に渡された NPVariant 変数 (または配列アイテム) に有効な文字列が含まれていることを確認したため、ブラウザー側で何か問題が発生したように見えます。

これは本当に Firefox のバグですか (Windows で FF 3.6 と 4.0 をテストしました)、それとも何か間違っているのでしょうか? 回避策はありますか?

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

firefox - NPAPI でのユーザー設定の永続性は?

ユーザー設定の読み取り/書き込みをサポートする NPAPI に何かがあるかどうか疑問に思っていましたか? 現在 XPCOM を使用していますが、Firefox 以外のブラウザーをサポートするために、このコードを削除したいと考えています。ファイルシステム(またはWindowsのレジストリ)を直接読み書きできることは理解していますが、他のオプションを検討したい-ユーザーがブラウザからこれらの設定を編集できるようにすること(たとえば、FFの設定について)は、間違いなくより良い方法ですカスタムメイドの構成ファイルを編集するように彼に指示するよりも、ユーザーエクスペリエンス。

0 投票する
5 に答える
409 参照

xcode - Mac の Opera で NPRuntime プラグインを開発するには?

最近、Mac OS X の Web ブラウザー用のプラグインを開発しました。

XCode によって開発された、私のバンドルは /Library/Internet Plug-ins にあります。

Chrome、Safari、Firefox はこのプラグインをキャッチしますが、Opera はキャッチしません。

プラグインを Opera でキャッチするにはどうすればよいですか?

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

plugins - npruntimeプラグインでNPVariantType_Doubleとして整数を検出するクロム?

NPRuntime プラグインを介して JavaScript を介して関数を呼び出そうとしていますが、整数値を関数に渡すと、Chrome はそれを NPVariantType_Double として検出しますが、firefox は NPVariantType_Int32 と同じ値を取ります。スクリプトを変更せずにこれを回避して、firefox と chrome の両方がそれを NPVariantType_Int32 として検出するようにすることはできますか?

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

firefox - Firefox4.0以降で問題が発生しているnpapiプラグイン

私はfirefox/chrome用のnpruntimeベースのプラグインを開発し、ff3.6 / chrome 10で正常に動作しますが、プラグインをロードした後にfirefox 4.0以降で他のプラグインをロードすると、firefoxがハングします。つまり、プラグインの後にgmailを開くとロードされた後、Firefoxは応答を停止し、プラグインコンテナと関係があることを確認しました。誰かが私がどこで間違っているのかを正確に提案できますか?任意のポインタをいただければ幸いです。前もって感謝します

これはff6のコールスタックです

ntdll.dll !_ZwWaitForSingleObject @ 12()ntdll.dll!_ZwWaitForSingleObject @ 12(
) kernel32.dll!_WaitForSingleObjectExImplementation @ 12
()kernel32.dll!_WaitForSingleObject @ 8()
nspr4.dll!_PR_MD_WAIT_CV(_MDCVar unsigned int timeout)
nspr4.dll!_PR_WaitCondVar(PRThread * thread、PRCondVar * cvar、PRLock * lock、unsigned int timeout)
nspr4.dll!PR_WaitCondVar(PRCondVar * cvar、unsigned int timeout)
xul.dll!mozilla :: CondVar Wait(unsigned int interval)
xul.dll!mozilla :: ipc :: GeckoChildProcessHost :: SyncLaunch(std :: vector、std :: allocator>、std :: allocator、std :: allocator >>> aExtraOpts、int aTimeoutMs、base :: ProcessArchitecture arch)xul.dll!mozilla :: plugins :: PluginProcessParent :: Launch(int timeoutMs)
xul.dll!mozilla :: plugins :: PluginModuleParent :: LoadModule(const char * aFilePath)
xul.dll!GetNewPluginLibrary(nsPluginTag * aPluginTag)xul.dll!nsNPAPIPlugin :: CreatePlugin(nsPluginTag * aPluginTag、nsNPAPIPlugin * * aResult)
xul。 dll!CreateNPAPIPlugin(nsPluginTag * aPluginTag、nsNPAPIPlugin * * aOutNPAPIPlugin)
xul.dll!nsPluginHost :: EnsurePluginLoaded(nsPluginTag * plugin)
xul.dll!nsPluginHost :: GetPlugin(const char * aMimeType、nsNPAPIPlugin * * aPlugin)
xul.dll!nsPluginHost :: TrySetUpPluginInstance(const char * aMimeType、nsIURI * aURL、nsIPluginInstanceOwner * aOwner)xul.dll!nsPluginHost :: SetUpPluginInstance(const char * aMimeType、nsIURI * aURL、nsIPluginInstanceOwner * aOwner)
xul.dll!nsPluginHost :: InstantiateEmbeddedPlugin(const char * aMimeType、nsIURI * aURL、nsIPluginInstanceOwner * aOwner、int aAllowOpeningStreams).. ..

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

google-chrome - 特定の chrome 拡張機能とのみ相互作用する安全な NPAPI プラグインを作成する方法は?

何らかのイベントに基づいてローカル ストレージからファイルを自動的に (ユーザーの操作なしで) 読み取り、アップロードする chrome 拡張機能を作成したいと考えています。Web とブラウザーのセキュリティ モデルのため、これが直接可能ではないことは理解しています。

オンラインで調査した結果、これは NPAPI プラグインを介して実現できることがわかりました。私が理解していることから、(NPRuntime API を介して) NPAPI プラグインと対話し、ファイルのアップロードを要求する chrome 拡張機能を作成できます。プラグインはファイルを取得し、ファイル データで応答します。

質問 1: 上記で考えられたアーキテクチャは、私のタスクを達成する合理的/効率的な方法ですか?

もしそうなら、私の懸念はこのメソッドのセキュリティにあります。

質問 2: プラグインはローカル ストレージから (およびローカル ストレージに) 読み取り (または書き込み) を行うため、他の悪意のあるサイト/拡張機能によって悪用されないように、安全な方法でコーディングするにはどうすればよいですか? 私のプラグインは私の拡張機能でのみ動作し、他のサイト/拡張機能では動作しません。どうすればこれを達成できますか?つまり、Chrome 拡張機能と NAAPI プラグインの間の相互作用を保護して、悪意のある攻撃の余地がないようにするには、どのような手段を講じるべきでしょうか?

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

google-chrome - chrome newer version(14) は、NPVariant の一部として null で終了する文字列を提供しません

chrome newer version(14) は NPVariant の一部として null で終了する文字列を提供しませんが、firefox は動作が異なり、null で終了する文字列を提供します。それは期待されていますか??

文字列を抽出し、メモリを割り当て、ヌル文字を追加してから、同じ割り当てを解除する以外に何ができますか.....これはすべてヌル文字を追加するためのものですか??

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

java - Chromium で NPAPI / NPRuntime 経由で Java アプレットを呼び出す

このバグを見つけました: http://code.google.com/p/chromium/issues/detail?id=580#c69 は、Chromium が LiveConnect をサポートしていないことを示しています。

開発者の 1 人は次のように答えました。

Chrome で LiveConnect をサポートするつもりはありません。Sun の Java プラグインの最新バージョンでは、NPRuntime を使用してスクリプトを実行できるため、これが不要になります。

NPAPI / NPRuntime インターフェイスを使用して Java アプレットおよび JavaScript との間で呼び出しを行う方法を知っている人はいますか? 簡単な例またはリソースだけで十分です。

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

plugins - 基本プラグイン(NPAPI / npruntime)Hello world

バックグラウンドステップ

  1. ここからMozillaコードを使用しました:http://mxr.mozilla.org/seamonkey/source/modules/plugin/tools/sdk/samples/basic/windows/
  2. Visual Studioの新しい空のプロジェクト&上記のファイルを追加
  3. 変更された構成タイプ:ダイナミックライブラリ(.dll)3b。リンカ->入力->モジュール定義ファイル:BasicPlugin.def
  4. BasicPlugin.cppにコメントし、基本的な機能のみを持ち、HelloWorldのMessageBoxを表示します
  5. コンパイル(成功)&Firefoxプラグインディレクトリにコピー
  6. チェック対象:プラグイン(見つかった)
  7. HTMLをロードしてdllを呼び出す(失敗)

私は今npruntimeファイルを使用して、スクリプト可能なプラグインを作成しようとしています(方法はわかりません)。しかし、プラグインがロードされない理由がわかりません。これはすべての基本の基本のようです。誰かがこれについてアイデアを持っていますか?

BasicPlugin.cpp

HTML

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

html - npruntime プラグインのインストール

npruntime プラグインを含む単純な html ページを作成したところ、ローカルで正常に動作しました。もちろん、npruntime オブジェクト ファイル (npmyapp.dll) は既に登録されているため、ブラウザはプラグインをロードできます。

(プラグインコードの読み込みは..のようなものです)

私が知りたいのは、ブラウザがプラグインを見つけられない場合にインストールを要求する方法です。

たとえば、Flash Player をインストールする前に Flash Player を含む Web サイトを閲覧すると、ブラウザはインストールを要求します。どうやって?

どんな助けでも大歓迎です。ありがとう!