0

webP 用の NPAPI プラグインをコンパイルしました。

http://code.google.com/p/webp-npapi-linux/

私のFirefoxからはうまく機能します。Google Chrome から動作させる方法がわかりません。json ファイルを作成しました。

$ cat manifest.json
{
  "name": "My First Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension that I made.",
  "plugins": [
    { "path": "webp-npapi.so", "public": true }
  ]
}

次に、Google Chrome を起動し、chrome://extensions に移動して、[パッケージ化されていない拡張機能を読み込む...] をクリックします。リストに表示されます:

My First Extension - Version: 1.0 (Unpacked)
The first extension that I made.
ID: bakhhdpebhmgoaecbmpkcbnmcmnamhhk

ただし、まだ* .webpイメージを開くことはできません!

私のテスト HTML ページは次のとおりです。

<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html> 
 <head> 
  <title> 
   Hello World Demonstration Document
  </title> 
 </head> 
<embed type="image/webp:webp:WebP" 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>
 <body> 
  <h1> 
   Hello, World!
  </h1> 
<img src="1.sm.webp" alt="too bad"/>
 </body> 
</html> 

ファイルはローカルにダウンロードされます (wget http://www.gstatic.com/webp/gallery/1.sm.webp )。そしてlddは私には大丈夫に見えます:

$ ldd webp-npapi.so
    linux-vdso.so.1 =>  (0x00007fffafdad000)
    libwebp.so.2 => /usr/lib/x86_64-linux-gnu/libwebp.so.2 (0x00007ff82fd60000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ff82fa4c000)
    libm.so.6 => /lib/libm.so.6 (0x00007ff82f7c9000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007ff82f5b3000)
    libc.so.6 => /lib/libc.so.6 (0x00007ff82f251000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ff8301c9000)

何が欠けていますか?

4

2 に答える 2

3

これが解決策です。何らかの理由で、Firefox には組み込みの MIME タイプのメカニズム (??) があり、webp をイメージとして認識していました。一方、クロムは、画像がwebpであることを伝える必要がありました.

私の Linux ボックスでは、MIME タイプを登録する/etc/mime.types(または~/.mime.typesユーザー レベルで登録する) だけで済みました。MIME タイプが登録されていることを確認するには、次を発行します。

$ grep webp /etc/mime.types
image/webp                  webp
于 2012-07-26T10:40:57.287 に答える
2

プラグインが読み込まれない理由はいくつか考えられます。

  1. npapi プラグインが正常に読み込まれる前に chrome でクラッシュする
    この場合、次のコマンドを使用して端末から google chrome を実行しgoogle-chrome --plugin-startup-dialog、問題をデバッグします (たとえば、gdb を使用するなど) 。

  2. プラグインの依存関係が見つかりません (これは私の場合に発生したものです。シークレット ショットを参照してください)
    webp-npapi.so プラグインの ldd ライブラリ (libwebp.so) がインストールされ、webp-npapi.so を実行して検出されたことldd webp-npapi.soを確認します (不足しているライブラリの出力を確認します)。 )。私の場合、webp-npapi プラグインは に対してビルドされlibwebp.so.0ていますが、ソースをコンパイルすると新しいライブラリ バージョンになりlibwebp.so.3ます。ソースから webp-npapi-plugin をコンパイルしましたか?

  3. プラグインは正しく読み込まれますが、Firefox で変更せずに動作する場合、embed/object タグが間違っている 可能性は低いです。プラグインを使用し
    てサンプル ページを投稿できますか?

于 2012-07-24T08:39:19.527 に答える