2

Firefox 拡張機能側で MIME タイプのリストを取得しようとしています。

ブラウザの JavaScript コンテキストにnavigatorオブジェクトがあります。これにはmimeTypesプロパティがあります - ブラウザによって認識される MIME タイプのリストです。アドオン SDK または XPCOM を使用して、アドオン スクリプトでそのリストを取得する必要があります。どうやってやるの?XPCOM または SDK に適切なメソッドが見つかりません。

助けてくれてありがとう。

4

1 に答える 1

1

これには mimeTypes プロパティがあります - ブラウザによって認識される MIME タイプのリストです。

いいえ、そうではありません。プラグイン (Flash & Co.) が登録されている MIME タイプのリストにすぎません。プラグイン情報を取得する必要がある場合は、通常、nsIPluginHost.getPluginTags()methodを使用することをお勧めします。残念ながら、プラグイン タグには、プラグインに関連付けられた MIME タイプに関する情報がありません。

navigatorしたがって、ウィンドウ コンテキストでのみ使用可能なオブジェクトを取得することは避けられません。page-workermoduleを使用してそれを行うことができます:

require("page-worker").Page({
  contentScript: "var result = [];" +
                 "for (var i = 0; i < navigator.mimeTypes.length; i++)" +
                   "result.push(navigator.mimeTypes[i].type);" +
                 "self.postMessage(result);",
  contentURL: "about:blank",
  onMessage: function(mimeTypes) {
    // Do something with the MIME types
  }
});
于 2012-08-29T11:47:20.583 に答える