1

mozilla npruntime プロジェクトに基づいて、MS で npapi dll を正常にコンパイルおよび作成しました。参照元: https://developer.mozilla.org/en-US/docs/Compiling_The_npruntime_Sample_Plugin_in_Visual_Studio。mozilla を起動して about:plugins を開くと、プラグインが表示されます。しかし、「test.html」を開くと、プラグインが表示されません。

NP_INIT l_pInit= (NP_INIT)GetProcAddress(hModule, "NP_Initialize"); を介してエントリ ポイント関数にアクセスできる別のテスト アプリを作成して、dll をテストしました。プラグインのdll関数にステップインできます。

しかし、mozilla では動作しません。提案してください。

4

3 に答える 3

0

mozilla プロセスを直接デバッグできます。プロセスにアタッチするだけです。ただし、最新のブラウザはサードパーティのプラグインをロードするために別のプロセスを使用するため、そのプロセスにアタッチする必要があります。ローディング ルーチン ( NP_GetEntryPointsNP_Initialize) にブレークポイントを設定して、そこで何が起こっているかを確認できます。

また、プロセスへのアタッチに問題がある場合は、コードからデバッグ ダイアログを表示するだけで、問題の領域を絞り込むことができます。

更新 1:

ブラウザは、プラグインを使用する必要があることを認識していないようです。プラグインが対象とする hwat の MIME タイプを指定しましたか? その場合は、HTML ページで次のスクリプトを実行します。

   <embed type="application/x-my-extension" id="pluginId">
   <script>
    var plugin = document.getElementById("pluginId");
    var result = plugin.myPluginMethod();  // call a method in your plugin
    console.log("my plugin returned: " + result);
   </script>

x-my-extensionで使用した拡張子に置き換えますNP_GetMimeDescriptionabout:pluginsブラウザがプラグインを正しい MIME タイプに正しく登録したかどうか をチェックインする必要があります。ここに画像の説明を入力

于 2013-05-31T07:35:21.533 に答える