在Firefox插件脚本中获取mime类型数组



我正试图在firefox扩展端获取MIME类型列表。

浏览器JavaScript上下文中存在navigator对象。它具有mimeTypes属性-浏览器可识别的MIME类型列表。我需要使用add-on-SDK或XPCOM在附加脚本中获取该列表。我该怎么做?我在XPCOM或SDK中找不到任何合适的方法。

提前感谢您的帮助。

它具有mimeTypes属性-浏览器可识别的MIME类型列表。

不,它不是-它只是MIME类型的列表,有一个插件(Flash&Co.)为它们注册。如果你需要获取插件信息,我通常建议你使用nsIPluginHost.getPluginTags()方法。不幸的是,插件标签没有与插件相关联的MIME类型的信息。

因此,您无法避免获取仅在窗口上下文中可用的navigator对象。您可以使用page-worker模块:

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
  }
});

相关内容

最新更新