我正在尝试在Firefox扩展端获取MIME类型列表。
浏览器JavaScript上下文中有 navigator 对象。 它具有 mimeTypes 属性 - 浏览器识别的MIME类型列表。 我需要使用附加SDK或XPCOM在附加脚本中获取该列表。 我怎样才能做到这一点?我在XPCOM或SDK中找不到任何合适的方法。
提前感谢您的帮助。
答案 0 :(得分:1)
它具有mimeTypes属性 - 浏览器识别的MIME类型列表。
不,它不是 - 它只是具有为其注册的插件(Flash& Co.)的MIME类型列表。如果您需要获取插件信息,我通常建议您使用nsIPluginHost.getPluginTags()
method。不幸的是,插件标签没有与插件相关的MIME类型的信息。
因此,您无法避免获得仅在窗口上下文中可用的navigator
对象。您可以使用page-worker
module执行此操作:
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
}
});